2017-01-28 20 views
0

私はDockerにはかなり新しく、 "Dockerfile"経由でパッケージをインストールしようとすると、ビルドのステップがパスしたことに気付きましたが、ドッカーとシェルをロードします。パッケージは実際にはインストールされていません。Docker-centos 7 CMD yumコマンドが実行されますがインストールされません

設定:

FROM centos:latest 
CMD yum -y install epel-release 
CMD yum -y install collectd 

ビルド手順:

Sending build context to Docker daemon 40.45 kB 
Step 1/3 : FROM centos:latest 
---> 67591570dd29 
Step 2/3 : CMD yum -y install epel-release 
---> Using cache 
---> 4148233bce10 
Step 3/3 : CMD yum -y install collectd 
---> Using cache 
---> 62998bf2ce0f 

どちらのパッケージがインストールされているドッキングウィンドウに接続しているが、私はドッキングウィンドウ内のパッケージをインストールすることができています:

[[email protected] monitoringDocker]# docker exec -it 0579169abb44 bash 
[[email protected] /]# yum -y install epel-release 
Loaded plugins: fastestmirror, ovl 
base 

助けてください!

答えて

3

使用

FROM centos:latest 
RUN \ 
    yum -y install epel-release && \ 
    yum -y install collectd 

OR

FROM centos:latest 
RUN yum -y install epel-release collectd 

RUNのように:

RUN命令は、アプリケーションとそれのために報いパッケージをインストールすることができます。現在のイメージの上にあるコマンドを実行し、結果をコミットして新しいレイヤーを作成します。

CMD

CMD命令を使用すると、コマンドを指定せずにコンテナを実行した場合にのみ実行されるデフォルトのコマンドを設定することができます。 Dockerコンテナがコマンドで実行される場合、デフォルトのコマンドは無視されます。

+0

ありがとうございました! – Xerphiel

関連する問題