Skip to content

Instantly share code, notes, and snippets.

@Seasawher
Last active August 23, 2023 11:33
Show Gist options
  • Save Seasawher/859811791962480006d44c4dc210e5b2 to your computer and use it in GitHub Desktop.
Save Seasawher/859811791962480006d44c4dc210e5b2 to your computer and use it in GitHub Desktop.
Docker Multistage Build でなぜかイメージが大きくなる理由

Docker Multistage Build でなぜかイメージが大きくなる理由

マルチステージビルドの間,ENV で定義した値は保持されるのかと思っていましたが,実は FROM 文をまたいだときにすべて一新されてしまうようです.

古い環境変数を用いてもエラーにはならないので気づきませんでした.

COPY 文の中に環境変数を使っていたりすると,「全部をまるごとコピー」というめちゃくちゃな挙動をするようです.

参考:https://stackoverflow.com/questions/72596395/why-is-my-docker-image-larger-with-a-multi-stage-build-compared-to-a-one-stage-b

そのせいで「マルチステージビルドをしたらイメージサイズが増えた」という一見非合理な現象が起きます.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment