1 |
使用目的に合わせてNginx(1.19)を実行させたい |
Nginx1.19から、もっとシンプルに対応できますよ。
1 |
Nginx1.19の新機能を使用してテンプレートファイルの環境変数を置換する例を見ていきます。 |
- テンプレートを置くデフォルトのディレクトリ(/etc/nginx/templates)が用意されました。
- envsubstの置換結果をデフォルトのディレクトリ(/etc/nginx/conf.d)に出力します。
Nginx1.19では内部的にenvsubstが実行されるため、1.18以前のようにenvsubstを個別に呼び出す必要がなくなりました。
テンプレートファイルの例
1 2 3 4 |
server { listen $NGINX_PORT; ## 待受ポート番号 root $NGINX_ROOT; ## 静的ディレクトリ } |
ケース1)Dockerfile
1 2 3 4 5 6 |
FROM nginx:1.19.2-alpine ENV NGINX_PORT 8080 ENV NGINX_ROOT /var/www/html/ COPY ./html /var/www/html/ #テンプレートをデフォルトのディレクトリにコピー COPY ./templates /etc/nginx/templates |
Dockerイメージのビルド
1 |
docker build . -t nginx |
Dockerコンテナ実行
1 |
docker run -p 8080:8080 nginx |
ケース2)DockerCompose
1 2 3 4 5 6 7 8 9 10 11 12 |
version: '3' services: nginx: image: nginx:1.19.2-alpine environment: NGINX_PORT: 8080 NGINX_ROOT: /var/www/html/ volumes: - ./html:/var/www/html/ - ./templates:/etc/nginx/templates ports: - 8080:8080 |
Dockerコンテナ実行例
1 |
docker-compose up |