Docker install Nginx

guiyun affiliate
Docker install Nginx


Docker pull nginx command to install

Find the nginx image on Docker Hub

runoob@runoob:~/nginx$ docker search nginx
NAME                      DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
nginx                     Official build of Nginx.                        3260      [OK]       
jwilder/nginx-proxy       Automated Nginx reverse proxy for docker c...   674                  [OK]
richarvey/nginx-php-fpm   Container running Nginx + PHP-FPM capable ...   207                  [OK]
million12/nginx-php       Nginx + PHP-FPM 5.5, 5.6, 7.0 (NG), CentOS...   67                   [OK]
maxexcloo/nginx-php       Docker framework container with Nginx and ...   57                   [OK]
...

Here we take the official image


$ docker pull nginx

After waiting for the download to complete, we can find a mirror with REPOSITORY nginx in the local mirror list.


runoob@runoob:~/nginx$ docker images nginx
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               latest              555bbd91e13c        3 days ago          182.8 MB


The following command uses an NGINX default configuration to launch an Nginx container instance:

$ docker run --name runoob-nginx-test -p 8081:80 -d nginx


Runoob-nginx-test The container name.
The -d setting container is always running in the background.
The -p port maps to map the local 8081 port to port 80 inside the container.
Executing the above command will generate a string of characters, similar to 6dd4380ba70820bd2acc55ed2b326dd8c0ac7c93f68f0067daecad82aef5f938, which represents the container ID, which can generally be used as the log file name.

We can use the docker ps command to see if the container is running:



$ docker ps
CONTAINER ID        IMAGE        ...               PORTS                  NAMES
6dd4380ba708        nginx        ...      0.0.0.0:8081->80/tcp   runoob-nginx-test



The PORTS section represents the port mapping and the local 8081 port is mapped to port 80 inside the container.

Open http://127.0.0.1:8081/ in your browser 


Nginx deployment


First, create the directory nginx, which is used to store related things.

$ mkdir -p ~/nginx/www ~/nginx/logs ~/nginx/conf

Copy the Nginx default configuration file in the container to the conf directory in the local current directory. The container ID can be viewed in the first column of the docker ps command input:

docker cp 6dd4380ba708:/etc/nginx/nginx.conf ~/nginx/conf



www: The directory will be mapped to a virtual directory configured by the nginx container.
logs: directory will be mapped to the log directory of the nginx container.
conf: directory will be mapped to the configuration file for the nginx container.

Deployment command


$ docker run -d -p 8082:80 --name runoob-nginx-test-web -v ~/nginx/www:/usr/share/nginx/html -v ~/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v ~/nginx/logs:/var/log/nginx nginx


Command description:

-p 8082:80: Maps port 80 of the container to port 8082 of the host.

--name runoob-nginx-test-web: Name the container runoob-nginx-test-web.

-v ~/nginx/www:/usr/share/nginx/html: Mount the www directory we created ourselves to /usr/share/nginx/html in the container.

-v ~/nginx/conf/nginx.conf:/etc/nginx/nginx.conf: Mount our own nginx.conf to /etc/nginx/nginx.conf in the container.

-v ~/nginx/logs:/var/log/nginx: Mount our own created logs to /var/log/nginx in the container.


Start the above command and go to the ~/nginx/www directory:


$ cd ~/nginx/www


Create an index.html file with the following content:


<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>this is test(runoob.com)</title>
</head>
<body>
     <h1>My first title</h1>
     <p>My first paragraph. </p>
</body>
</html>


Related commands
If you want to reload NGINX you can use the following command to send a HUP signal to the container:

$ docker kill -s HUP container-name

Restart the NGINX container command:

$ docker restart container-name


guiyun affiliate

标签: Docker

作者头像
南宫俊逸创始人

君子好学,自强不息~

上一篇:Docker install Apache
下一篇:PHP 7.1 安装openssl 扩展的时候出现Cannot find config.m4. Make sure that you run '/usr/local/php/bin/phpize'

发表评论

腾讯-云服务器2核4G,首年70元