How to modify nginx config if nginx is running as a docker container ?

To replace a specific Nginx configuration file inside a Docker container with a new configuration file, you can use the docker cp command to copy the new file into the container, overwriting the existing file.

Here are the steps to replace a specific Nginx configuration file inside a Docker container:

  • Create a new Nginx configuration file with the updated configuration settings on the host machine.

For example, you can create a file called nginx.conf in your home directory and add your updated configuration settings:

vi ~/nginx.conf

  • Stop the Nginx container that you want to update:
docker stop <container-name-or-id>

  • Copy the new nginx.conf file into the container, overwriting the existing default.conf file:

This command copies the nginx.conf file from the host machine to the /etc/nginx/conf.d/default.conf path inside the container.

docker cp ~/nginx.conf <container-name-or-id>:/etc/nginx/conf.d/default.conf

  • Start the Nginx container:

This command starts the Nginx container using the updated configuration file.

docker start <container-name-or-id>

Note that if you have multiple Nginx containers running, you need to specify the name or ID of the container that you want to update in steps 2 and 3 above.

Also, keep in mind that when you replace a configuration file inside a Docker container using the docker cp command, you lose any changes that were made to the file inside the container.

Therefore, it's a good idea to back up any existing configuration files before replacing them with new ones.