rhel6でtarコマンドが見つかりません。

rhel6でtarコマンドが見つかりません。

rhel6からファイルをダウンロードし、tarを使用して解凍しようとします。私はこれをドッカーで実行しています。奇妙なエラーが発生します。

/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 で対話型シェルが作成され、そこに表示されるエラーを対話的に調べることができます。

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を使用する理由やDockerコンテナでrhelのライセンスがどのように付与されるかはわかりませんが、tarを標準として提供するCentOSを使用できる場合。

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---

関連情報