我的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`

我怎样才能解决这个问题?

最佳答案

之所以失败,是因为它无法在tar中找到您的/usr/bin/tar可执行文件。

您可以做的几件事:

  • 如注释中所述,将/usr/bin/tar替换为tar
  • 运行which tar以查看tar可执行文件所在的位置,并将/usr/bin/tar替换为该命令的输出。

  • 这两种方法中的任何一种都可以使用-第一种方法更通用(即,如果tar可执行文件在以后以其他方式结束时不会中断),但是第二种方法如果在tar搜索中较早发现了PATH,则不会开始使用其他可执行文件。

    关于docker - Docker构建失败,找不到命令,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52261730/

    10-16 16:34