t8.dev

🇺🇸

dockerfileのenvを使って環境変数を渡す【ARGとの違いも説明する】

公開日:2021/10/24
更新日:

はじめに

心理学を使ったTODOアプリを開発している、@takasqrです。

心理学を使ったTODOアプリ | todo8

心理学を使ったTODOアプリ | todo8

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_DOMAINexample.netに変わっている。

関連記事

Dockerのcpでホストとコンテナ間でのファイルコピー
DockerfileのCOPYでファイルやディレクトリごとコンテナにコピーする
【dockerfile】echoを使ってテキストファイルに複数行追記する
WordPress用のmysql(5.7)をdockerfileで作る
Postgres SQLのdockerfileを作る
sqlserverのdockerfileを作る
Docker execでコンテナ外からコマンドを実行する
Dockerのイメージ一覧をコマンドで表示する【images】
Dockerのコンテナが起動しない時に見るページ
DockerのpsでCOMMANDを省略しないで表示する
Dockerで不要になったimageやcontainerを一括削除【system prune】

オススメ記事

5年間ほぼ毎日プログラミングの勉強をするためにやったこと
論文と本から学ぶ、プログラミング独学のコツ
目標達成率を高める if thenプランニングとは!?【本とアプリも紹介】