Dockerfile运行命令-无此类文件

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

我在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 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