Installation DockerNginx
Méthode 1. Créer via Dockerfile
Créer Dockerfile
Tout d'abord, créez le répertoire nginx pour stocker l'élément associé suivant .
php@php:~$ mkdir -p ~/nginx/www ~/nginx/logs ~/nginx/conf
Le répertoire www sera mappé au répertoire virtuel configuré par le conteneur nginx
Le répertoire des logs sera mappé au répertoire des logs du conteneur nginx
La configuration les fichiers du répertoire conf seront mappés au fichier de configuration du conteneur nginx
Entrez le répertoire nginx créé et créez un 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;"]
Créez une image via le Dockerfile et remplacez-la par votre propre nom
docker build -t nginx .
Une fois la création terminée, nous pouvons trouver l'image nouvellement créée dans la liste d'images locale
php@php:~/nginx$ docker images nginx REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest 555bbd91e13c 3 days ago 182.8 MB
Méthode 2, docker pull nginx
Trouver l'image nginx sur 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] ...
Ici, nous extrayons l'image officielle
php@php:~/nginx$ docker pull nginx
Une fois le téléchargement terminé, nous pouvons trouver l'image avec REPOSITORY nginx dans la liste d'images locale.
Utilisez l'image nginx
pour exécuter le conteneur
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$
Description de la commande :
-p 80 :80 :Mappez le port 80 du conteneur au port 80 de l'hôte
--name mynginx : Nommez le conteneur mynginx
-v $PWD/www:/www:Montez www dans le répertoire actuel sur l'hôte vers /www dans le conteneur
-v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf:Montez nginx.conf dans le répertoire actuel de l'hôte sur le conteneur /etc/nginx/nginx.conf
-v $PWD/logs:/wwwlogs:Montez les journaux du répertoire actuel sur l'hôte dans le /wwwlogs du conteneur
Afficher l'état de démarrage du conteneur
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
Accès via le navigateur