在Dockerfile中找不到tar命令

我试图在rhel6中下载一个文件并使用tar解压缩它。 我在docker上运行这个。 我得到一个奇怪的错误说/ bin / sh:tar:command not found。 我是新来的Linux和docker。 有人可以帮忙吗?

#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:pwd@downloads.datastax.com/enterprise/dse-4.0.3-bin.tar.gz RUN curl -OL http://username:pwd@downloads.datastax.com/enterprise/opscenter-4.0.3.tar.gz RUN echo $PATH RUN tar -xzvf opscenter-4.0.3.tar.gz RUN rm *.tar.gz 

非常奇怪…这没有发生…然后突然开始发生。 我不知道为什么,但我通过安装tar.x86_64来解决它:

 FROM centos:6 RUN yum -y update && \ yum -y install wget && \ yum install -y tar.x86_64 && \ yum clean all 

我尝试了一个类似的,richxsl / rhel6.5 bash

$ docker run -it richxsl/rhel6.5 bash [root@5f3b0b7539a3 /]# tar bash: tar: command not found [root@5f3b0b7539a3 /]# yum install tar Loaded plugins: product-id, subscription-manager This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. Setting up Install Process No package tar available. Error: Nothing to do [root@5f3b0b7539a3 /]#

可能你需要注册到红帽订阅管理?

经过很多的痛苦,我才知道,当你在一个容器内时,它不会注册到RHN或卫星。 我怀疑REDHAT在不久的将来会提供这个功能。

我所做的是从CENTOS获得所需的rpm,并将它们安装在RHEL6之上。

 RUN curl -OL ftp://fr2.rpmfind.net/linux/centos/6.6/os/x86_64/Packages/unzip-6.0-1.el6.x86_64.rpm RUN yum install -y unzip-6.0-1.el6.x86_64.rpm RUN rm unzip-6.0-1.el6.x86_64.rpm 

我认为这是现在最好的策略。 以非常基本的RHEL6映像并从CENTOS安装所需的软件包。 你应该使用这个定制的RHEL6镜像来达到你的开发目的。

https://access.redhat.com/articles/881893