我已经为我的sbt项目创建了一个自定义映像,这里是docker文件
FROM hseeberger/scala-sbt:11.0.2_2.12.8_1.2.8
MAINTAINER name <email>
RUN echo "==> fetch all sbt jars from Maven repo..." && \
echo "==> [CAUTION] this may take several minutes!!!" && \
sbt publishLocal
WORKDIR /test-commons
# Define default command.
ENTRYPOINT ["sbt publishLocal"]
CMD ["sbt publishLocal"]
然后我构建它
docker build .
和docker ps
返回
REPOSITORY TAG IMAGE ID CREATED SIZE
test-commons v1 8adba9557f57 12 minutes ago 1.05GB
和docker run test-commons:v1
给
docker: Error response from daemon: OCI runtime create failed: container_linux.go:344: starting container process caused "exec: \"sbt publishLocal\": executable file not found in $PATH": unknown.
ERRO[0007] error waiting for container: context canceled
我是这方面的初学者,请指导我在这里缺少的内容
答案 0 :(得分:0)
仅使用CMD
就足够了,删除多余的ENTRYPOINT
语句并尝试-
FROM hseeberger/scala-sbt:11.0.2_2.12.8_1.2.8
MAINTAINER name <email>
RUN echo "==> fetch all sbt jars from Maven repo..." && \
echo "==> [CAUTION] this may take several minutes!!!" && \
sbt publishLocal
WORKDIR /test-commons
CMD ["sbt", "publishLocal"]