ビルドキャッシュを作成するイメージの構築
このステップでは、簡単な Docker イメージを構築してビルドキャッシュを作成します。Docker ビルドキャッシュは、以前のビルドからレイヤーを再利用することでビルドプロセスを高速化するメカニズムです。Docker イメージをビルドする際、Dockerfile の各命令はレイヤーを生成します。前回のビルドから命令が変更されていない場合、Docker はそのレイヤーを再構築せずに既存のレイヤーを再利用できます。
まず、プロジェクト用のディレクトリを作成し、移動します。
mkdir ~/project/docker-cache-demo
cd ~/project/docker-cache-demo
次に、簡単な Dockerfile を作成します。この Dockerfile はファイルをイメージにコピーし、コマンドを実行します。
nano Dockerfile
以下の内容を Dockerfile
に追加します:
FROM ubuntu:latest
COPY . /app
RUN echo "Hello, Docker Cache!" > /app/message.txt
CMD ["cat", "/app/message.txt"]
ファイルを保存して閉じます。
続いて、イメージにコピーする簡単なファイルを作成します。
nano message.txt
message.txt
に以下の内容を追加します:
This is a test message.
ファイルを保存して閉じます。
これで、Docker イメージを構築します。イメージに cache-demo
というタグを付けます。
docker build -t cache-demo .
Docker がステップごとにイメージを構築する様子が出力されます。各ステップは Dockerfile の命令に対応しています。Docker は ubuntu:latest
イメージが存在しない場合にダウンロードし、message.txt
ファイルをコピーし、echo
コマンドを実行します。
ビルドが完了したら、利用可能なイメージをリスト表示してイメージが作成されたことを確認できます。
docker images
イメージのリストに cache-demo
が表示されるはずです。
次に、Dockerfile や message.txt
に変更を加えずに再度イメージを構築します。
docker build -t cache-demo .
今回は、ビルドプロセスが大幅に高速化されていることに気付くでしょう。Dockerfile の命令と message.txt
の内容が変更されていないため、Docker は前回のビルドから既存のレイヤーを再利用します。出力のほとんどのステップで "Using cache" と表示されます。これが、Docker ビルドキャッシュが後続のビルドを高速化する仕組みです。