【Docker】初心者がDockerで環境変数を設定してみた
環境変数を使って、ソースコード内に環境固有の設定を変更できるようにしてみた。
作成したファイル
.
├── config
│ ├── develop.env
│ └── production.env
├── docker-compose.yml
└── services
└── app
├── Dockerfile
└── src
└── index.php
APP_ENV=develop
APP_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.env
http://localhost:8000にアクセスしてdevelop が表示されれば成功
echo APP_ENV=production > config/production.env
http://localhost:8000にアクセスしてproduction が表示されれば成功