【发布时间】:2019-05-14 09:03:11
【问题描述】:
我在home/demo/projectA 下有一个sbt 项目projectA 我的Dockerfile 驻留在/home/demo/ 中,出于某种原因我不希望它在projectA 中
所以层次结构看起来像这样
主页/演示
- Dockerfile
- 项目A
我在这里尝试在映像构建过程中运行sbt 命令这是我的 Dockerfile 的内容
FROM hseeberger/scala-sbt:11.0.2_2.12.8_1.2.8 as stripecommon
MAINTAINER sara <sarawaheed3191@gmail.com>
WORKDIR /aa
RUN \
. /home/demo/projectA sbt
我在构建图像时遇到此错误
:~/home/demo$ docker build -t testapp .
Sending build context to Docker daemon 1.297GB
Step 1/4 : FROM hseeberger/scala-sbt:11.0.2_2.12.8_1.2.8 as stripecommon
---> 349a7e4f4029
Step 2/4 : MAINTAINER sara <sarawaheed3191@gmail.com>
---> Using cache
---> 8603662d3730
Step 3/4 : WORKDIR /aa
---> Using cache
---> f07ec5bb4d34
Step 4/4 : RUN . /home/demo/projectA sbt
---> Running in 7509ee45f622
/bin/sh: 1: .: Can't open /home/demo/projectA
The command '/bin/sh -c . /home/demo/projectA sbt' returned a non-zero code: 2
什么是正确的方法,我也是 docker 帮助的初学者,将不胜感激
【问题讨论】:
-
我不明白这行
RUN . /home/demo/projectA sbt。为什么不直接执行RUN /home/demo/projectA sbt。我想 projectA 是二进制文件,而 sbt 是参数,不是吗? -
它说 /bin/sh: 1: /home/demo/projectA: not found 命令 '/bin/sh -c /home/demo/projectA sbt.'返回一个非零代码:127 这里 projectA 是一个 sbt 项目,'sbt' 是我作为参数给出的命令
-
你在哪里创建
/home/demo/projectA在你的图像中? -
不鼓励交叉发布到多个 SE 站点。请为您的问题找到最合适的网站并在那里发布。参考:devops.stackexchange.com/q/8131/7730
标签: docker dockerfile