【マルチステージビルド】
マルチステージビルド とは?
💡 工場の製造ラインで「完成品だけ出荷」する賢い梱包術
📌 このページのポイント
マルチステージビルドって何? Dockerfileが複数あるってこと?
ファイルが複数あるんじゃなくて、1つのDockerfileの中に「ステージ」と呼ぶ段階を複数書けるんだよ。
ステージを分けると何が嬉しいの?
JDKを最終イメージに入れなくていいんだね!どのくらい小さくなるの?
前のステージからファイルを持ってくるにはどうするの?
COPY --from=builder /app/target/app.jar /app.jar のように、--from=ステージ名 を指定するよ。ステージにはASとして名前をつけておくんだ。
ステージに名前をつけるんだね! Goアプリとかでもよく使うの?
まとめ:ざっくりこれだけ覚えればOK!
「マルチステージビルド」って出てきたら「Dockerイメージを小さく・安全にするビルド手法」と思えればだいたいOK!
📖 おまけ:英語の意味
「Multi-Stage Build」 = 多段階ビルド
💬 MultiはMultiple(複数の)の略、StageはDockerfileの中の独立したビルド段階のこと。複数段階でビルドを分けることだよ。