2016-07-14 9 views
2

ドッカーファイルを使用してビルドイメージを学習しています。ドッカーでコマンドが繰り返されないようにする方法

私は、私が実行したことの後に私は

ドッカファイル以下
FROM centos:6.8 
MAINTAINER Bilal Usean "[email protected]" 
RUN yum install -y httpd; yum -y clean all 

を使用して、ビルドイメージに開始されたテストを行うための

ステップ1

をやっていることの簡単な説明以下のコマンド

docker build -t httpd/centos:6.8 . 

それが成功したのhttpd/CentOSのにApacheをインストールしている:6.8イメージ

ステップ2

次私はその後、同じ既存の新しく作成された画像

FROM centos:6.8 
MAINTAINER Bilal Usean "[email protected]@xx" 
RUN yum install -y httpd; yum -y clean all 
yum install java-1.6.0-openjdk-devel; yum -y clean all 

にJDKをインストールしようとしています私は以下のコマンドを実行しました。

docker build -t httpd/centos:6.8 . 

Bそれは、httpdのインストールからもう一度始まります、私はそれがすでにインストールのためのそのhttpdのステップをスキップすると思った。私はドッキングウィンドウfile.Iを作るために良い習慣ではないと思い

がドッキングウィンドウのファイルで20 RUNコマンドを持っている、それは私が、各コマンドの成功、それについて確認するように、ネットから重いサイズのファイルをダウンロードしています。それ以外の場合は途中で失敗し、再度MBを課金します。

メモ:私が間違っている場合、イメージとドッカーファイルを処理する最善の方法を記述してください。

答えて

3

別のRUNコマンドを追加せず、以前のコマンドを追加(変更)したため(ドッカーがこの変更を検出して新しいコマンドを実行するため)、ここで繰り返します。

何が書いてすべきことである。

FROM centos:6.8 
MAINTAINER Bilal Usean "[email protected]" 
RUN yum install -y httpd; yum -y clean all 
RUN yum install java-1.6.0-openjdk-devel; yum -y clean all 
のような「キャッシュを使用する」出力を探すことで期待通りに働いている場合は、伝えることができ
+2

: 'ステップ2:RUN yumをインストール-yのhttpd。 yum -y clean all --->キャッシュの使用 ---> 9df171dc34e5' – ldg

+0

うわー!出来た。私は正しい方法でいる:-) –

関連する問題