【发布时间】:2017-07-04 13:52:22
【问题描述】:
我有一个 SBT 多项目,其中有 2 个不同的播放应用程序。 我想创建 2 个 docker 输出而不仅仅是 1 个。
在我的 build.sbt 文件中,我有一些 docker 设置,但是当我运行 docker 任务时,它不使用任何这些设置,因为 DockerFile 没有我配置的任何东西。
我的 build.sbt 看起来像:
lazy val project1 = (project in file("project1")).
..
.enablePlugins(...., DockerPlugin)
lazy val project2 = (project in file("project2")).
..
.enablePlugins(...., DockerPlugin)
// docker
maintainer in Docker := "mr. docker"
dockerExposedPorts := Seq(9000)
dockerBaseImage := "java:latest"
我首先进入我的特定项目来运行任务:
project project2
docker:stage
在target/docker/Dockerfile中生成的docker文件是:
FROM java:latest
WORKDIR /opt/docker
ADD opt /opt
RUN ["chown", "-R", "daemon:daemon", "."]
USER daemon
ENTRYPOINT ["bin/project1"]
CMD []
如您所见,它缺少我在 build.sbt 中放入的内容。它应该有维护者和暴露端口的线路。
我该如何解决这个问题?
【问题讨论】:
-
顺便说一句,小心使用 Docker 中的 Oracle java:blog.takipi.com/running-java-on-docker-youre-breaking-the-law
标签: scala docker playframework sbt-native-packager