在 rhel6 上找不到 tar 命令

在 rhel6 上找不到 tar 命令

我正在尝试在 rhel6 中下载一个文件并使用 tar 来解压缩它。我在 docker 上运行这个。我收到一个奇怪的错误:

/bin/sh: tar: command not found
2014/12/22 19:32:21 The command [/bin/sh -c tar -xzvf dse-4.0.3-bin.tar.gz] returned a non-zero code: 127
#
#HELLO
FROM rhel6
MAINTAINER xxxxx

#RUN yum -y install wget

RUN yum update -y && yum clean all

#RUN yum -y install tar

RUN curl -OL  http://username:[email protected]/enterprise/dse-4.0.3-bin.tar.gz

RUN curl -OL  http://username:[email protected]/enterprise/opscenter-4.0.3.tar.gz

RUN echo $PATH

RUN tar -xzvf opscenter-4.0.3.tar.gz

RUN rm *.tar.gz

答案1

您正在使用的 docker 容器不提供 tar 实用程序。我使用以下内容对此进行了测试;

sudo docker run -i -t rhel6 /bin/bash

这使用 rhel6 映像在 Docker 中为我创建了一个交互式 shell,然后我可以从那里以交互方式检查您所看到的错误;

bash-4.1# find / -name tar
bash-4.1# yum list | grep -i tar
upstart.x86_64               0.6.5-13.el6_5.3               @koji-override-0/6.5

这两个命令都显示 tar 未安装且不可用。

我不确定您使用 rhel 的理由,或者 rhel 如何在 Docker 容器中使用它的许可,但您是否可以使用 CentOS,它提供 tar 作为标准;

sudo docker run -i -t centos /bin/bash
bash-4.1# yum list | grep -i tar
---snip---
tar.x86_64                               2:1.26-29.el7                   base   
---snip---

相关内容