Pemasangan docker Nginx


Kaedah 1. Bina melalui Dockerfile

Cipta Dockerfile

Pertama, cipta direktori nginx untuk menyimpan perkara yang berkaitan seterusnya .

php@php:~$ mkdir -p ~/nginx/www ~/nginx/logs ~/nginx/conf

Direktori www akan dipetakan ke direktori maya yang dikonfigurasikan oleh bekas nginx

Direktori log akan dipetakan ke direktori log bekas nginx

Konfigurasi fail dalam direktori conf akan dipetakan ke fail konfigurasi Kontena nginx

Masukkan direktori nginx yang dibuat dan buat Fail Docker

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;"]

Cipta imej melalui Fail Docker dan gantikannya dengan nama anda sendiri

docker build -t nginx .

Selepas penciptaan selesai, kita boleh Cari imej yang baru dibuat dalam senarai imej tempatan

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

Kaedah 2, docker pull nginx

Cari imej nginx pada 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]
...

Di sini kami Tarik imej rasmi

php@php:~/nginx$ docker pull nginx

Selepas muat turun selesai, kami boleh mencari imej dengan REPOSITORY nginx dalam senarai imej tempatan.


Gunakan imej nginx

untuk menjalankan bekas

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$

Perihalan arahan:

  • -p 80 :80 :Peta port 80 bekas ke port 80 hos

  • --nama mynginx: Namakan bekas mynginx

  • -v $PWD/www:/www:Lekapkan www dalam direktori semasa pada hos ke /www dalam bekas

  • -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf:Lekapkan nginx.conf dalam direktori semasa pada hos ke /etc/nginx/nginx.conf bekas itu

  • -v $PWD/logs:/wwwlogs:Lekapkan log dalam direktori semasa pada hos ke /wwwlogs bekas

Lihat status permulaan kontena

php@php:~/nginx$ docker ps
CONTAINER ID        IMAGE        COMMAND                      PORTS                         NAMES
45c89fab0bf9        nginx        "nginx -g 'daemon off"  ...  0.0.0.0:80->80/tcp, 443/tcp   mynginx
f2fa96138d71        tomcat       "catalina.sh run"       ...  0.0.0.0:81->8080/tcp          tomcat

Akses melalui penyemak imbas

1051.png