マルチステージビルドの間,ENV
で定義した値は保持されるのかと思っていましたが,実は FROM
文をまたいだときにすべて一新されてしまうようです.
古い環境変数を用いてもエラーにはならないので気づきませんでした.
COPY
文の中に環境変数を使っていたりすると,「全部をまるごとコピー」というめちゃくちゃな挙動をするようです.
そのせいで「マルチステージビルドをしたらイメージサイズが増えた」という一見非合理な現象が起きます.
マルチステージビルドの間,ENV
で定義した値は保持されるのかと思っていましたが,実は FROM
文をまたいだときにすべて一新されてしまうようです.
古い環境変数を用いてもエラーにはならないので気づきませんでした.
COPY
文の中に環境変数を使っていたりすると,「全部をまるごとコピー」というめちゃくちゃな挙動をするようです.
そのせいで「マルチステージビルドをしたらイメージサイズが増えた」という一見非合理な現象が起きます.