Docker installation Nginx
Method 1. Build through Dockerfile
Create Dockerfile
First, create the directory nginx to store the subsequent related thing.
php@php:~$ mkdir -p ~/nginx/www ~/nginx/logs ~/nginx/conf
The www directory will be mapped to the virtual directory configured by the nginx container
The logs directory will be mapped to the log directory of the nginx container
The configuration file in the conf directory will be mapped to nginx Container configuration file
Enter the created nginx directory and create a Dockerfile
FROM debian:jessie MAINTAINER NGINX Docker Maintainers "docker-maint@nginx.com" ENV NGINX_VERSION 1.10.1-1~jessie RUN apt-key adv --keyserver hkp://pgp.mit.edu:80 --recv-keys 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62 \ && echo "deb http://nginx.org/packages/debian/ jessie nginx" >> /etc/apt/sources.list \ && apt-get update \ && apt-get install --no-install-recommends --no-install-suggests -y \ ca-certificates \ nginx=${NGINX_VERSION} \ nginx-module-xslt \ nginx-module-geoip \ nginx-module-image-filter \ nginx-module-perl \ nginx-module-njs \ gettext-base \ && rm -rf /var/lib/apt/lists/* # forward request and error logs to docker log collector RUN ln -sf /dev/stdout /var/log/nginx/access.log \ && ln -sf /dev/stderr /var/log/nginx/error.log EXPOSE 80 443 CMD ["nginx", "-g", "daemon off;"]
Create an image through the Dockerfile and replace it with your own name
docker build -t nginx .
After the creation is completed, we can Find the image you just created in the local image list
php@php:~/nginx$ docker images nginx REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest 555bbd91e13c 3 days ago 182.8 MB
Method 2, docker pull nginx
Find the nginx image on Docker Hub
php@php:~/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] webdevops/php-nginx Nginx with PHP-FPM 39 [OK] h3nrik/nginx-ldap NGINX web server with LDAP/AD, SSL and pro... 27 [OK] bitnami/nginx Bitnami nginx Docker Image 19 [OK] maxexcloo/nginx Docker framework container with Nginx inst... 7 [OK] ...
Here we are Pull the official image
php@php:~/nginx$ docker pull nginx
After waiting for the download to complete, we can find the image with REPOSITORY of nginx in the local image list.
Use nginx image
Run container
php@php:~/nginx$ docker run -p 80:80 --name mynginx -v $PWD/www:/www -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf -v $PWD/logs:/wwwlogs -d nginx 45c89fab0bf9ad643bc7ab571f3ccd65379b844498f54a7c8a4e7ca1dc3a2c1e php@php:~/nginx$
Command description:
##-p 80:80 :Map port 80 of the container to port 80 of the host
--name mynginx:Name the container mynginx
-v $PWD/www:/www:Mount www in the current directory on the host to /www in the container
-v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf: Mount nginx.conf in the current directory on the host to /etc/nginx/nginx.conf of the container
-v $PWD/logs:/wwwlogs:Mount the logs in the current directory on the host to the container’s /wwwlogs