The command '/bin/sh -c returned a non-zero code: 127

前端 未结 3 611
感动是毒
感动是毒 2021-02-05 01:19

I\'m new to docker so I might be doing this wrong, but I\'m trying to install Tomcat6 through a Dockerfile which like this:

FROM rhel7:latest
RUN cd         


        
相关标签:
3条回答
  • 2021-02-05 01:56

    Exit code 127 from shell commands means "command not found". So, in your case it seems the "wget" within quotes is not being found when Docker runs it.

    In some cases, the command to install wget (or whatever command-line tool is missing) must first be run in the Dockerfile because some base Docker images will not have wget. You would add a line before the failing command that looks something like this:

    RUN yum install -y wget
    
    0 讨论(0)
  • 2021-02-05 02:06

    Solution to the image with error is to add before the wget CMD RUN yum -y install wget

    If you write it like this, it is the same result, just different execution:

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

    Don't use the quotes and comma in RUN command.

    0 讨论(0)
  • 2021-02-05 02:10

    Do not forget you can add all lib and package you need on the same line

    RUN cd /tmp \
    && apt-get update \
    && apt-get install -y curl apt-utils wget unzip\
    && rm -rf /var/lib/apt/lists/*

    0 讨论(0)
提交回复
热议问题