Docker 命令'/bin/sh-c返回一个非零代码:127

Docker 命令'/bin/sh-c返回一个非零代码:127,docker,tomcat6,rhel,dockerfile,rhel7,Docker,Tomcat6,Rhel,Dockerfile,Rhel7,我是docker新手,所以我可能做错了,但我正试图通过Dockerfile安装Tomcat6,如下所示: FROM rhel7:latest RUN cd /tmp RUN "wget", "http://www.us.apache.org/dist/tomcat/tomcat-6/v6.0.44/bin/apache-tomcat-6.0.44.tar.gz" RUN tar xzf apache-tomcat-6.0.44.tar.gz RUN mv apache-tomcat-6.0.44

我是docker新手,所以我可能做错了,但我正试图通过
Dockerfile
安装Tomcat6,如下所示:

FROM rhel7:latest
RUN cd /tmp
RUN "wget", "http://www.us.apache.org/dist/tomcat/tomcat-6/v6.0.44/bin/apache-tomcat-6.0.44.tar.gz"
RUN tar xzf apache-tomcat-6.0.44.tar.gz
RUN mv apache-tomcat-6.0.44 /usr/local/tomcat6
RUN cd /usr/local/tomcat6
Run ./bin/start.sh
RUN yum install -y wget
它在第三行出现故障,原因是:

  RUN "wget", "http://www.us.apache.org/dist/tomcat/tomcat-6/v6.0.44/bin/apache-tomcat-6.0.44.tar.gz"
当我运行docker build时,我得到以下信息:

我正在使用:

  • Oracle虚拟箱V4.3.28 r100309
  • RHEL7码头工人

提前感谢您的帮助。

解决有错误图像的方法是在
wget CMD之前添加
运行yum-y安装wget

如果您这样编写,结果是相同的,只是执行方式不同:

 RUN wget http://www.us.apache.org/dist/tomcat/tomcat-6/v6.0.44/bin/apache-tomcat-6.0.44.tar.gz

不要在
RUN
命令中使用引号和逗号

shell命令的退出代码127表示“未找到命令”。因此,在您的例子中,Docker运行引号时,似乎找不到引号中的“wget”

在某些情况下,安装wget的命令(或缺少的任何命令行工具)必须首先在Dockerfile中运行,因为某些基本Docker映像将没有wget。您可以在失败的命令前添加一行,如下所示:

FROM rhel7:latest
RUN cd /tmp
RUN "wget", "http://www.us.apache.org/dist/tomcat/tomcat-6/v6.0.44/bin/apache-tomcat-6.0.44.tar.gz"
RUN tar xzf apache-tomcat-6.0.44.tar.gz
RUN mv apache-tomcat-6.0.44 /usr/local/tomcat6
RUN cd /usr/local/tomcat6
Run ./bin/start.sh
RUN yum install -y wget

不要忘记,您可以在同一行中添加所需的所有库和包

运行cd/tmp\
&&apt获取更新\
&&apt get安装-y curl apt utils wget解压\

&&rm-rf/var/lib/apt/lists/*
这对它没有影响,它仍然会给出相同的错误在这种情况下,在抛出错误的行之前添加语句
RUN yum-y install wget
。谢谢,我尝试过了,但现在它以代码1退出。这就是显示的内容。我有一个RedHat的订阅,我正在机器上使用它,我必须用Docker登录订阅管理器吗?我已经有一段时间没有使用RHEL image了。但该消息表示您需要向Red Hat Subscription Manager注册。如果可以的话,我建议您接受红帽支持部门的帮助。我看到这篇文章,是为了解决CentOS 7服务器中返回非零代码139的
问题。我已经解决了我的问题只是卸载和重新安装docker再次
sudo yum remove docker.x86_64 docker-common.x86_64 docker-distribution.x86_64 docker-rhel push plugin.x86_64
sudo yum remove docker.x86_64 docker-common.x86_64 docker-distribution.x86_64 docker-rhel push plugin.x86_64
@WellingtonSouza error 139表示编译的CPU体系结构错误