Сбой сборки Docker, команда не найдена

Мой Dockerfile как следует:

  FROM registry.access.redhat.com/rhel6.7
  USER root
  MAINTAINER zaman L
  RUN mkdir /apps
  COPY httpd-2.4.34.tar.bz2 /tmp
  RUN /usr/bin/tar xjvf /tmp/httpd-2.4.34.tar.bz2 -C /apps
  VOLUME /tmp
  VOLUME /apps

Но docker build терпит неудачу с этой ошибкой:

  `Step 7 : RUN /usr/bin/tar xjvf /tmp/httpd-2.4.34.tar.bz2 -C /apps
   ---> Running in 541bdd63aac6
  /bin/sh: /usr/bin/tar: No such file or directory
  The command '/bin/sh -c /usr/bin/tar xjvf /tmp/httpd-2.4.34.tar.bz2 -C /apps' returned a non-zero code: 127`

Как я могу это исправить?

1 ответ

Это терпит неудачу, потому что это не может найти ваш tar исполняемый в /usr/bin/tar,

Пара вещей, которые вы можете сделать:

  • замещать /usr/bin/tar с tar, как указано в комментарии.
  • Бежать which tar чтобы увидеть, где ваш tar исполняемые жизни, и заменить /usr/bin/tar с выводом из этой команды.

Любой из них должен работать - первый более общий (т.е. не сломается, если ваш tar в дальнейшем исполняемый файл заканчивается где-то другим), но второй не начнет использовать другой исполняемый файл, если tar найден ранее в вашем PATH поиск.

Другие вопросы по тегам