Docker构建失败,找不到命令

问题描述 投票:0回答:1

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

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

docker dockerfile rhel6
1个回答
0
投票

它失败了,因为它无法在tar找到你的/usr/bin/tar可执行文件。

你可以做几件事:

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

其中任何一个都应该工作 - 第一个是更通用的(即如果你的tar可执行文件最后会在不同的地方结束时不会中断),但如果在tar搜索中找到PATH,第二个将不会开始使用不同的可执行文件。

© www.soinside.com 2019 - 2024. All rights reserved.