dockerfileのenvを使って環境変数を渡す【ARGとの違いも説明する】
公開日:2021/10/24
はじめに
心理学を使ったTODOアプリを開発している、@takasqrです。
dockerfile
で環境変数をコンテナに渡すには、env
を使います。
使い方を紹介します。
ARGとの違い
- ENVはdockerfileから生成されたコンテナ内に環境変数を埋め込むことができます
- ARGはdockerfile内で使える変数を設定することができます
似ているようで全然違いますね。
envの使い方
1. dockerfileを作る
dockerfile
の書き方です。
FROM centos
ENV SITE_DOMAIN "example.com"
これで、出来上がったイメージの内で環境変数SITE_DOMAIN
の中にexample.com
が入ります。
2. dockerfileをビルドする
dockerfile
をビルドするコマンド。
docker build -t centos-custom:0.1 .
これで出来上がったイメージの中に環境変数が埋め込まれました。
-e
を使って初期値から変える
dockerfile
の値から変えたい時は、-e
で渡すことができる。
# wordpress
docker container run \
-d \
-e SITE_DOMAIN="example.net" centos-custom:0.1
上の例だとdockerfile
ではexample.com
だったSITE_DOMAIN
がexample.net
に変わっている。