Dockerfile运行命令-无此类文件
我在Dockerfile中运行可执行文件时遇到问题。 它包含从内部服务下载“gsoap”库的命令,然后执行以下操作:Dockerfile运行命令-无此类文件,docker,dockerfile,Docker,Dockerfile,我在Dockerfile中运行可执行文件时遇到问题。 它包含从内部服务下载“gsoap”库的命令,然后执行以下操作: ENV PATH="/opt/tools/gsoap/v2.7.12/lnx_x64/bin:${PATH}" RUN ls -la /opt/tools/gsoap/v2.7.12/lnx_x64/bin RUN whereis soapcpp2 RUN ["soapcpp2", "-v"] ls命令返回一个结果: drwxr-xr-x 2 root root 4096
ENV PATH="/opt/tools/gsoap/v2.7.12/lnx_x64/bin:${PATH}"
RUN ls -la /opt/tools/gsoap/v2.7.12/lnx_x64/bin
RUN whereis soapcpp2
RUN ["soapcpp2", "-v"]
ls命令返回一个结果:
drwxr-xr-x 2 root root 4096 Mar 1 17:34 .
drwxr-xr-x 1 root root 4096 Mar 1 17:34 ..
-rwxr-xr-x 1 root root 610652 Mar 1 17:34 soapcpp2
-rwxr-xr-x 1 root root 4270809 Mar 1 17:34 wsdl2h
而whereis
也很快乐:
soapcpp2: /opt/tools/gsoap/v2.7.12/lnx_x64/bin/soapcpp2
但尝试运行它会带来:
standard_init_linux.go:195: exec user process caused "no such file or directory"
这是怎么回事
如果我更改为使用shell表单:
RUN soapcpp2 -v
我明白了
嗯
whereis
刚刚告诉我它很高兴soapcpp2
即将推出 您需要使用
添加
或
复制
及
顺便说一下,您似乎误用了RUN,也许您的最后一个命令应该是
a
CMD
或
ENTRYPOINT
另见
如问题中所述:
它包含一个从内部服务下载“gsoap”库的命令,然后以下发布整个Dockerfilesee您还应该对运行进行分组以避免各种问题
/bin/sh: 1: soapcpp2: not found