【问题标题】:Add a directory into a docker image using sbt (on Lagom 1.4)使用 sbt 将目录添加到 docker 映像中(在 Lagom 1.4 上)
【发布时间】:2018-07-16 09:13:42
【问题描述】:

有人可以帮助如何将文件系统文件夹添加到 docker 映像中...例如我想将 /opt/app/conf 添加到路径 /opt/docker/conf 的 docker 映像中。 build.sbt的一个sn-p如下:

dockerCommands :=
  dockerCommands.value.flatMap {
    case cmd@Cmd("FROM", ) => List(cmd, Cmd("RUN", "apk add --no-cache bash"))
    case ExecCmd("ENTRYPOINT", args @ *) => Seq(Cmd("ENTRYPOINT", args.mkString(" ")))
    case v => Seq(v)
},

【问题讨论】:

  • 这跟lagom没多大关系。

标签: docker sbt sbt-docker


【解决方案1】:

我假设您使用的是本机打包程序。您需要将所需的文件映射到您的 docker 上下文中。调用

mappings in Universal ++= Seq(
  file("/opt/app/conf/<filename>") -> "app/conf/<filename>"
)

会将给定的文件放入app/conf 下的docker 上下文中。

但是,我建议不要映射 /opt/app,因为这要求任何构建映像的机器都具有正确的路径和文件。相反,请考虑将配置添加到 src/main/resources 路径并映射它们。

mappings in Universal ++= Seq(
  (baseDirectory.value / "src/main/resource/app/conf/<filename>") -> "app/conf/<filename>"
)

我更喜欢明确包含文件(无目录递归),但您应该能够使用 Paths 来合并递归。

【讨论】:

    猜你喜欢
    • 2020-03-31
    • 1970-01-01
    • 2020-01-15
    • 2020-05-16
    • 1970-01-01
    • 2018-09-23
    • 2020-01-21
    • 2018-05-21
    • 2018-09-28
    相关资源
    最近更新 更多