Introduction

備忘録。
Dockerで毎回buildまたはrunするとき、apt-getやyumが含まれると構築に時間がかかります。
ネットで調べてみると透過型Proxyとか色々対応策がありましたが、上手くいきませんでした。

そんな中、DockerHubから取得したイメージそのものを更新する、という手法を見つけました。

How to?

素晴らしいアイデアはこちら。

手順は下記

1. ホストOS上

1
2
# <base_image> から <temp_containe_name> というコンテナを実行
$ docker run -it --name <temp_containe_name> <base_image>

2. コンテナ内

1
2
3
# 取得したいパッケージのインストール
$ apt-get update && apt-get -y upgrade && apt-get clean
$ exit

3. ホストOS上

1
2
3
# <base_image> を上書き
$ docker commit <temp_containe_name> <base_image> # 仮コンテナを削除
$ docker rm <temp_containe_name>

実際は、元となるイメージは複製しておくと、より安心ですね。
最終のビルドテスト時に、FROMをオリジナルに戻せば事足りそうです。