Docker ComposeでNginxの設定を試せるコンテナ構築
2021.09.13
2024.03.24
Docker
Docker Composenginx
はじめに
Docker ComposeでNginxコンテナを構築して、設定ファイルを更新しながら設定ファイルの検証ができるような環境を構築します。
ホスト側のディレクトリをマウントすることで、ホスト側のファイルを更新しながらNginxの動作を検証できるようにします。
Docker Composeについては、下記で解説しています。
【超基礎】Docker Compose
:::affiliate-message 本ページはAmazonアフィリエイトのリンクを含みます。
準備
まずは必要なファイルを準備します。
必要なファイルとディレクトリは以下のようになります。
1.
2├── default.conf
3└── docker-compose.yml
default.conf
Nginxの設定ファイルとなるdefault.conf
を用意します。
下記はデフォルトで用意されている設定内容と同じになります。
1server {
2 listen 80;
3 listen [::]:80;
4 server_name localhost;
5
6 #access_log /var/log/nginx/host.access.log main;
7
8 location / {
9 root /usr/share/nginx/html;
10 index index.html index.htm;
11 }
12
13 #error_page 404 /404.html;
14
15 # redirect server error pages to the static page /50x.html
16 #
17 error_page 500 502 503 504 /50x.html;
18 location = /50x.html {
19 root /usr/share/nginx/html;
20 }
21
22 # proxy the PHP scripts to Apache listening on 127.0.0.1:80
23 #
24 #location ~ \.php$ {
25 # proxy_pass http://127.0.0.1;
26 #}
27
28 # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
29 #
30 #location ~ \.php$ {
31 # root html;
32 # fastcgi_pass 127.0.0.1:9000;
33 # fastcgi_index index.php;
34 # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
35 # include fastcgi_params;
36 #}
37
38 # deny access to .htaccess files, if Apache's document root
39 # concurs with nginx's one
40 #
41 #location ~ /\.ht {
42 # deny all;
43 #}
44}
docker-compose.yml
次にdocker-compose.yml
を作成します。
公式のNginxイメージを利用してコンテナを作成します。また、先ほど用意したdefault.conf
とコンテナ側のetc/nginx/conf.d/default.conf
をマウントします。
1version: "3"
2services:
3 nginx:
4 image: nginx:latest
5 container_name: nginx00
6 ports:
7 - "80:80"
8 volumes:
9 - ./default.conf:/etc/nginx/conf.d/default.conf
コンテナを実行
必要なファイルが準備できたらコンテナを実行します。
1❯ docker-compose up -d
設定を変更
ここからNginxの設定を変更しながらNginxの動作を検証していきます。
ホスト側のdefault.conf
を変更したら、下記コマンドで再起動します。
1❯ docker-compose restart
default.conf
はマウントされているため、ホスト側のファイルを更新するとコンテナ側のファイルも更新されます。
参考
Share
関連記事
【Docker】レジストリとリポジトリ
2021.08.29
Docker Composeでボリュームとバインドマウントを使ってみる
2021.09.18
Docker Composeでfirestoreのローカル環境を構築
2024.05.13
Docker Composeでflask開発環境構築
2021.09.03