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