在Docker映像内部生成mxnet时出错
当我尝试在Docker映像中构建mxnet时,我得到了以下消息:在Docker映像内部生成mxnet时出错,docker,dockerfile,Docker,Dockerfile,当我尝试在Docker映像中构建mxnet时,我得到了以下消息: Step 14/16 : RUN ["/bin/bash", "-c", "cd /workspace/Project/mxnet"] ---> Running in c9337d66ee5e /workspace/Project/mxnet Removing intermediate container c9337d66ee5e ---> b92ad26e0218 Step 15/16 : RUN ["/
Step 14/16 : RUN ["/bin/bash", "-c", "cd /workspace/Project/mxnet"]
---> Running in c9337d66ee5e /workspace/Project/mxnet
Removing intermediate container c9337d66ee5e
---> b92ad26e0218 Step 15/16 : RUN ["/bin/bash", "-c", "make"]
---> Running in 653a66e430b2 make:
*** No targets specified and no makefile found.
Stop. The command '/bin/bash -c make' returned a non-zero code: 2
有什么建议吗?在
Step 15/16 : RUN ["/bin/bash", "-c", "make"]
[…] The command '/bin/bash -c make' returned a non-zero code: 2
可能是因为您事先运行了此命令:
Step 14/16 : RUN ["/bin/bash", "-c", "cd /workspace/Project/mxnet"]
这是Docker中的典型错误模式
总之,每个Docker RUN命令都是在子shell中运行的,因此
RUN ["/bin/bash", "-c", "cd /workspace/Project/mxnet"]
RUN other commands
其他命令不受目录更改的影响
要解决此问题,您可以:
RUN cd /workspace/Project/mxnet && other commands
WORKDIR /workspace/Project/mxnet
RUN other commands
RUN cd /workspace/Project/mxnet && other commands
WORKDIR /workspace/Project/mxnet
RUN other commands
WORKDIR /dir
RUN some command
在语义上可以看作是命令的等价物
mkdir -p /dir && cd /dir && /bin/sh -c "some command"
容器内的工作目录中似乎没有Makefile。你能发布你的整个
Dockerfile
?@sp0gg,很抱歉,我不能发布,因为它包含一些机密信息,但要了解更多详细信息,mxnet文件夹位于主机中的一个项目内。在dockerfile中,我有:WORKDIR/workspace/My_Project COPY。nextI可以用一个脚本sh来安装一些包,最后我返回到项目中以构建mxnet?@sp0gg;在我放置dockerfile的项目中,我运行以下命令行:docker build-t my_image。