2015年10月15日木曜日

Dockerfile ビルド時間短縮 tips

ubuntu や centos などの dockerhub イメージを使って Dockerfile を書くとき、大抵の場合 apt-get update や yum update を先頭に書きます。

FROM ubuntu:latest
RUN apt-get update && apt-get -y upgrade && apt-get clean

毎回たくさんのダウンロードが実行される時間を省略するために以下をやっておきます。

ホストOS 上で docker run
$ docker run -it --name t1 ubuntu:latest 
コンテナで apt-get update など実行して exit
# apt-get update && apt-get -y upgrade && apt-get clean
# exit
同じ名前でイメージ作成
$ docker commit t1 ubuntu:latest ← 同じ名前でイメージ更新
$ docker rm t1 ← 仮コンテナを削除
これで Dockerfile の FROM はいじらずにビルド時間を短縮できます。