【Docker】初心者がDockerで環境変数を設定してみた
環境変数を使って、ソースコード内に環境固有の設定を変更できるようにしてみた。
やりたいこと
- 開発環境:
export APP_ENV=develop && docker-compose up - 本番環境:
export APP_ENV=production && docker-compose up - で画面表示する文字を変更してみる。
作成したファイル
.
├── config
│ ├── develop.env
│ └── production.env
├── docker-compose.yml
└── services
└── app
├── Dockerfile
└── src
└── index.phpAPP_ENV=developAPP_ENV=production<?= getenv("APP_ENV") ?>FROM ubuntu:16.04
RUN apt-get update
RUN apt-get install -y software-properties-common
RUN LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php
RUN apt-get update
RUN apt-get install -y php7.4
COPY ./src/index.php /var/www/html/
CMD [ "php", "-S", "0.0.0.0:80", "-t", "/var/www/html/" ]version: '2'
services:
app:
build: "./services/app"
container_name: "app"
ports:
- "8000:80"
env_file:
- "./config/${APP_ENV}.env"起動コマンド
echo APP_ENV=develop > config/develop.envhttp://localhost:8000にアクセスしてdevelop が表示されれば成功
echo APP_ENV=production > config/production.envhttp://localhost:8000にアクセスしてproduction が表示されれば成功
