【发布时间】:2016-03-27 02:39:25
【问题描述】:
我想在不使用任何 sbt 插件的情况下手动编写 dockerfile。 我正在使用 sbt 0.13.8。我查看了 dockerfile 参考,但无法获得足够的洞察力来满足我的要求。演示会非常有帮助
【问题讨论】:
我想在不使用任何 sbt 插件的情况下手动编写 dockerfile。 我正在使用 sbt 0.13.8。我查看了 dockerfile 参考,但无法获得足够的洞察力来满足我的要求。演示会非常有帮助
【问题讨论】:
如果您的意思是编写一个 Dockerfile 生成一个能够运行 sbt 项目的镜像,您可以查看William-Yeh/docker-sbt:
# Sbt on Java 7
#
# URL: https://github.com/William-Yeh/docker-sbt
#
# @see http://www.scala-sbt.org/release/tutorial/Manual-Installation.html
#
# Version 0.7
FROM williamyeh/java7
MAINTAINER William Yeh <william.pjyeh@gmail.com>
ENV SBT_VERSION 0.13.8
ENV SBT_JAR https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/$SBT_VERSION/sbt-launch.jar
ADD $SBT_JAR /usr/local/bin/sbt-launch.jar
COPY sbt.sh /usr/local/bin/sbt
RUN echo "==> fetch all sbt jars from Maven repo..." && \
echo "==> [CAUTION] this may take several minutes!!!" && \
sbt
VOLUME [ "/app" ]
WORKDIR /app
# Define default command.
ENTRYPOINT ["sbt"]
CMD ["--version"]
【讨论】:
-f 选项:docker build -f mydockerfile -t myimagename .。
您可以查看插件生成的 docker 文件:sbt-native-packager。应该提高你的初步理解。对于演示,请阅读一般 docker 教程,而不是坚持您想要在其中实际运行的内容。
在 sbt docker:publishLocal 之后,您将在目标文件夹中获得图像名称和 dockerfile。您可以使用docker run -i MY_NAME 运行映像。
【讨论】: