DockerfileのENVとARGの違いとは?

こんにちは!kossyです!




さて、今回はDockerfileを記述する際に用いられるインストラクションの一つである、
ENVとARGの違いについてブログに残してみたいと思います。



そもそもDockerとはなんぞや?という方は、
knowledge.sakura.ad.jp

上記のサイトが参考になるかと思います。

また、書籍はこちらが入門用に最適かと思います。
https://www.amazon.co.jp/dp/B07GP1Q3VT/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1



ENVとARGの違い

どちらも環境変数であるという点は一緒なのですが、用途が異なります。

ENVインストラクションは、
「Dockerfileを元に生成したDockerコンテナ内で使える環境変数」であるのに対して、
ARGインストラクションは、
「imgaeのbuild時に情報を埋め込むために用いられる一時的な環境変数」になっています。




参考にさせていただいたサイト
knowledge.sakura.ad.jp
https://youtu.be/5d8O7jm7Q5c
https://youtu.be/7mwoTs0LoYA