dockerのマルチステージビルドはどのように実行されるのか。
Dockerのマルチステージビルドは、1つのDockerfile内で複数のビルドステージを定義する技術であり、これによりイメージのサイズを小さくし、ビルド効率を向上させることができます。
Dockerのマルチステージビルドの手順は次の通りです:
- Dockerfile内で複数のビルド段階を定義し、各段階にFROM命令を使用して基本イメージを設定し、それぞれで対応するビルドステップを実行します。
# 第一个构建阶段
FROM base_image as builder
# 执行构建步骤
# 第二个构建阶段
FROM base_image
COPY --from=builder /app /app
# 执行其他构建步骤
- 最初のビルド段階で必要なファイルやアプリを生成し、それらのファイルを第二のビルド段階にコピーします。
- 第一のビルド段階からファイルを第二のビルド段階にコピーするには、使用- fromオプションを使用します。
- docker buildコマンドに–targetオプションを使用して、最終的なイメージの構築時には、第2段階のみを残すことができます。
docker build --target builder -t final_image .
Dockerのマルチステージビルドを使用することで、イメージサイズとビルド効率を最適化することができますので、複雑なアプリケーションやイメージをビルドする際には、この技術を使用することをお勧めします。