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

我是新来的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 "wget", "http://www.us.apache.org/dist/tomcat/tomcat-6/v6.0.44/bin/apache-tomcat-6.0.44.tar.gz" 

当我运行docker构build时,我得到这个: 这个

我在用着:

  • Oracle Virtual Box V4.3.28 r100309
  • Docker在RHEL7上

在此先感谢您的帮助。

解决错误的图像是在wget CMD RUN yum -y install wget之前添加wget CMD RUN yum -y install 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意味着“未find命令”。 所以,就你的情况而言,当Docker运行它时,似乎引号内的“wget”没有被find。

在某些情况下,必须首先在Dockerfile中运行用于安装wget(或缺less任何命令行工具)的命令,因为某些基础Docker映像不会包含wget。 你会在失败的命令之前添加一行,如下所示:

 RUN yum install -y wget