From 2e359a47de9a5fde0ada24ead2c3f78e3b3c7644 Mon Sep 17 00:00:00 2001 From: Daisuke Kashiwagi Date: Wed, 20 Sep 2023 01:40:58 +0900 Subject: [PATCH] Improve explanation on how to customize nginx conf When I first saw this document, I didn't understand the meaning of 'This can also be accomplished' and it confused me. So, I suggest an improvement. --- nginx/content.md | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/nginx/content.md b/nginx/content.md index 802adcf100d9..805b97eae2d2 100644 --- a/nginx/content.md +++ b/nginx/content.md @@ -35,23 +35,29 @@ $ docker run --name some-nginx -d -p 8080:80 some-content-nginx Then you can hit `http://localhost:8080` or `http://host-ip:8080` in your browser. -## Complex configuration +## Customize configuration + +You can mount your configuration file, or build a new image with it. + +If you wish to adapt the default configuration, use something like the following to get it from a running nginx container: ```console -$ docker run --name my-custom-nginx-container -v /host/path/nginx.conf:/etc/nginx/nginx.conf:ro -d %%IMAGE%% +$ docker run --name tmp-nginx-container -d %%IMAGE%% +$ docker cp tmp-nginx-container:/etc/nginx/nginx.conf /host/path/nginx.conf +$ docker rm -f tmp-nginx-container ``` +And then edit `/host/path/nginx.conf` in your host file system. + For information on the syntax of the nginx configuration files, see [the official documentation](http://nginx.org/en/docs/) (specifically the [Beginner's Guide](http://nginx.org/en/docs/beginners_guide.html#conf_structure)). -If you wish to adapt the default configuration, use something like the following to copy it from a running nginx container: +### Mount your configuration file ```console -$ docker run --name tmp-nginx-container -d %%IMAGE%% -$ docker cp tmp-nginx-container:/etc/nginx/nginx.conf /host/path/nginx.conf -$ docker rm -f tmp-nginx-container +$ docker run --name my-custom-nginx-container -v /host/path/nginx.conf:/etc/nginx/nginx.conf:ro -d %%IMAGE%% ``` -This can also be accomplished more cleanly using a simple `Dockerfile` (in `/host/path/`): +### Build a new image with your configuration file ```dockerfile FROM %%IMAGE%%