0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Docker】環境変数を利用して、PORT番号を変更してみる no.19

Last updated at Posted at 2021-06-26

パンプキン カフェ (9).png

こんにちは。まゆみです。

Dockerについての記事をシリーズで書いています。

今回の記事では、環境変数を利用してPORT番号を変える方法を書いていこうと思います

環境変数はPORT番号以外でも用いられる場面が多いので、様々な場面で応用していただければ幸いです。

ではさっそく始めていきますね。

#環境変数を使うメリット

Dockerfileで環境変数を設定することで、PORT番号に変更があった時に、 わざわざDockerfileからImageをrebuildしなくても済みます。

#環境変数の設定

環境変数の設定は、Dockerfileで行います。

今回はPORT番号に対して環境変数を設定したいので、下記のようなコードになります(80がデフォルト値になります)

ちなみにEXPOSEで指定するのは、所定のネットワークのどのポートをリッスンするかを指定します。

ENV PORT 80

EXPOSE $PORT

下のスクショのような感じになります

また、環境変数の設定の仕方は上記の方法以外にもありますので、興味のある方はこちらからどうぞ。

2021-06-26_8-46-57.png

Dockerfileを書き換えたら、そのDockerfileを基にしたイメージを作るため、一度rebuildしておいてください。

#Containerを実行する

では先ほどのプロセスでrebuildしたイメージからContainerを実行してみます。

その際、

--env PORT=(変更後の番号)

とオプションを付けてrun します

80から8000に変更してみます。

 docker run -p 3000:8000 --env PORT=8000 <ImageID>

環境変数を使えば、PORT番号を変更したからと、わざわざDocerfileを書き換えてrebuildする必要もなく、コマンド上でPORT番号の変更に対処する事ができます。

また、--envオプションは、『-e』を代用しても大丈夫です。

#環境ファイルを使う

また、環境ファイル(.envファイル)を別に作って、そのファイルの中に環境変数を設定する事もできます(下のスクショ参考)

2021-06-26_9-16-10.png

環境ファイルを使った場合、Containerをrunする際につけるオプションは

--env-file ./.env

になります

カレントディレクトリ―(./)にある.envファイルの環境変数を使えと指示します。

#まとめ

今回の記事はここで締めくくらせていただきます。

お役に立てれば幸いです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?