Сборка Docker завершается с ошибкой «RUN: команда не найдена» - PullRequest
0 голосов
/ 07 февраля 2019

Я запускаю ниже содержимого в dockerfile, он запускается до установки yum и завершается с ошибкой как, / bin / sh: RUN: команда не найдена

DockerFile:

FROM amazonlinux:latest
ADD . /tmp/
RUN yum install gzip -y && \
    yum install tar -y && \
    yum install libstdc++.so.6 -y && \
RUN cd /tmp && /usr/bin/gunzip TeradataToolsAndUtilitiesBase__linux_indep.16.20.10.00.tar.gz && /usr/bin/tar -xvf TeradataToolsAndUtilitiesBase__linux_indep.16.20.10.00.tar 
RUN cd /tmp/TeradataToolsAndUtilitiesBase/ && ./setup.bat a
CMD ["/bin/bash"]

Ошибка:

Installed:
  libstdc++.i686 0:7.3.1-5.amzn2.0.2                                            

Dependency Installed:
  glibc.i686 0:2.26-32.amzn2.0.1         libgcc.i686 0:7.3.1-5.amzn2.0.2        

Complete!
/bin/sh: RUN: command not found
The command '/bin/sh -c yum install gzip -y &&     yum install tar -y &&     yum install libstdc++.so.6 -y && RUN cd /tmp && /usr/bin/gunzip TeradataToolsAndUtilitiesBase__linux_indep.16.20.10.00.tar.gz && /usr/bin/tar -xvf TeradataToolsAndUtilitiesBase__linux_indep.16.20.10.00.tar' returned a non-zero code: 127
system:ttudockerimg$

Пожалуйста, помогите.

1 Ответ

0 голосов
/ 07 февраля 2019

Просто используйте одну команду RUN и выходите из новых строк.Если у вас есть несколько команд, вы должны заключить их в команду bash.

Кроме того, вы можете извлекать из файла .tar.gz напрямую, не распаковывая его.

FROM amazonlinux:latest 
ADD . /tmp/ 
RUN yum install gzip -y && \ 
    yum install tar -y && \ 
    yum install libstdc++.so.6 -y && \
    /bin/bash -c 'cd /tmp && \
    /usr/bin/tar -xzvf TeradataToolsAndUtilitiesBase__linux_indep.16.20.10.00.tar.gz && \
    cd /tmp/TeradataToolsAndUtilitiesBase/ && \
    ./setup.bat a 
CMD ["/bin/bash"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...