Latest web development tutorials

Docker instalacji Nginx

Docker instalacji Nginx

Sposób konstruując Dockerfile

Tworzenie Dockerfile

Najpierw utwórz nginx katalogu, używany do przechowywania kopii związanych rzeczy.

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

katalog www mapować pojemnik konfiguracji nginx katalogów wirtualnych

nginx loguje katalogu zostaną odwzorowane na katalogu dziennika pojemnika

profil katalogu conf zostaną odwzorowane na nginx pojemniku profil

Wprowadź nginx utworzonego katalogu, tworzyć Dockerfile

FROM debian:jessie

MAINTAINER NGINX Docker Maintainers "[email protected]"

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

Tworzenie lustro przez Dockerfile, zastąpić go własnym nazwiskiem

docker build -t nginx .

Po utworzeniu, możemy znaleźć właśnie utworzony w lokalnej liście odbicie lustrzane

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

Sposób drugi, doker ciągnąć nginx

Znajdź nginx lustro na Docker Hub

w3big@w3big:~/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]
...

Tutaj możemy wyciągnąć oficjalnych serwerów

w3big@w3big:~/nginx$ docker pull nginx

Poczekaj, aż pobieranie zostanie ukończone, możemy znaleźć w lokalnej listy lusterko z magazynów, lustro nginx.


Mirroring użyciu nginx

uruchom kontenerów

w3big@w3big:~/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
w3big@w3big:~/nginx$

Polecenie Opis:

  • -p 80:80: będą mapowane do gniazda przyjmującego 80 od portu pojemnika 80

  • --name mynginx: nazwij mynginx kontenera

  • -v $ PWD / www: / www : www jest gospodarzem bieżącym katalogu jest zamontowana do pojemnika / www

  • -v $ PWD / conf / nginx.conf: /etc/nginx/nginx.conf: nginx.conf odbędzie bieżący katalog jest zamontowana do pojemnika /etc/nginx/nginx.conf

  • -v $ PWD / kłody: / wwwlogs : kłody odbędzie bieżący katalog jest zamontowana do pojemnika / wwwlogs

Sprawdź pojemnik zaczyna okoliczności

w3big@w3big:~/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

Dostęp przez przeglądarkę