Maison  >  Article  >  Opération et maintenance  >  Comment utiliser Docker pour monter des volumes afin de déployer Nginx

Comment utiliser Docker pour monter des volumes afin de déployer Nginx

WBOY
WBOYavant
2023-05-17 15:31:401132parcourir

Nginx data volume

nginx a de nombreuses fonctions, telles que le proxy direct, le proxy inverse, l'équilibrage de charge, le proxy transparent, etc. De manière générale, c'est plus pratique à utiliser La plupart d'entre eux sont un proxy inverse et un équilibrage de charge. Il suffit de synchroniser le fichier de configuration localement pour terminer ces opérations. Pour créer un fichier de configuration nginx, vous devez d'abord créer un nouveau fichier nommé nginx.conf dans le répertoire /etc/nginx/

Comment utiliser Docker pour monter des volumes afin de déployer Nginx

nginx1 répertoire nginx .conf doit également être créé, laissez simplement le contenu vide. Ensuite, vérifiez si l'image est normale :

Comment utiliser Docker pour monter des volumes afin de déployer Nginx

Si vous n'avez pas encore téléchargé l'image, utilisez la commande suivante pour extraire l'image (la dernière version par défaut) :

docker pull nginx

Exécutez ensuite le conteneur :

docker run -itd -p 80:80 --name nginx001 -v /docker/nginx1/nginx.conf:/etc/nginx/nginx.conf nginx

Expliquez :

  • -itd : Activer mode interactif, simulation de terminal, exécution en arrière-plan# 🎜🎜#

  • -p 80:80 : Le port correspondant est mappé sur l'hôte

    #🎜 🎜#
  • --name nginx001 : Nom du conteneur personnalisé
  • -v /docker/nginx1/nginx.conf:/etc/nginx/nginx.conf : Mappez le fichier correspondant de l'hôte au fichier de configuration nginx
  • nginx : Running image name

Après avoir exécuté la commande ci-dessus, une chaîne aléatoire sera renvoyé pour indiquer que le conteneur a été créé avec succès :

# 🎜🎜#

Afficher le conteneur en cours d'exécution : Comment utiliser Docker pour monter des volumes afin de déployer Nginx

# 🎜🎜#

Je ne vois pas nginx001, il doit être en cours d'exécution. Quelque chose s'est mal passé, jetons un œil au message d'erreur :

Comment utiliser Docker pour monter des volumes afin de déployer Nginx

#🎜🎜 #Signifie probablement que le nœud d'événements n'a pas été trouvé dans le fichier de configuration. Parce que le contenu du fichier que nous avons créé est vide, lors du démarrage du conteneur, le nginx.conf dans le répertoire correspondant est directement mappé à nginx.conf dans nginx001. Bien entendu, nginx avec une configuration vide ne peut pas s'exécuter.

Maintenant, vi vient de créer nginx.conf localement et de commencer à configurer : Comment utiliser Docker pour monter des volumes afin de déployer Nginx

J'en ai déployé un sur docker avant A simple . net core occupe le port local 1500. Maintenant, j'utilise nginx pour inverser le proxy du programme vers un nom de domaine spécifié et y accéder via le port 80. Une fois le fichier de configuration écrit, redémarrez le conteneur nginx001 :

Comment utiliser Docker pour monter des volumes afin de déployer Nginx

Maintenant, nginx001 a été démarré avec succès. Accédez au nom de domaine qui vient d'être spécifié : #🎜🎜. ## 🎜🎜#

Comment utiliser Docker pour monter des volumes afin de déployer Nginxnginx la configuration a pris effet.

Enfin, essayons de voir si le redémarrage de Docker entraînera l'initialisation de la configuration :

Comment utiliser Docker pour monter des volumes afin de déployer Nginx

Démarrez deux conteneurs : #. 🎜🎜#

Visitez la page : Comment utiliser Docker pour monter des volumes afin de déployer Nginx

Le data roll a été appliqué avec succès car La base de données n'est pas initialisée après le redémarrage de Docker. À l’avenir, vous n’aurez plus peur des pannes de Docker et des pertes de données. Comment utiliser Docker pour monter des volumes afin de déployer Nginx

Supplement

L'attribut proxy_pass dans le fichier de configuration nginx, lorsqu'il est configuré dans un environnement non-docker, localhost ou 127.0.0.1 peut prendre effet normalement, mais lors de la configuration de nginx conteneur sous docker Lors de l'utilisation de localhost ou 127.0.0.1, il y a un petit trou qui empêche l'achèvement du proxy inverse réel. Parce que lorsque le conteneur est en cours d'exécution, Docker lui attribuera une adresse IP et un port distincts, puis mappera l'adresse IP occupée par Docker à l'adresse IP du conteneur (par exemple, après le démarrage de MySQL sous Docker, vous pouvez utiliser localhost pour vous connecter au client ). Mais lorsque nginx démarre, il lira d'abord le fichier de configuration et ne l'exécutera que si la configuration est correcte. Par conséquent, une fois le conteneur exécuté avec succès, Docker y mappera l'adresse IP locale. Ce n'est qu'en cas d'accès direct à l'aide de l'adresse IP du conteneur que si localhost ou 127.0.0.1 est écrit dans le fichier de configuration, le proxy inverse sera déclenché. Lors de la configuration de Nginx à l'aide de Docker sur le serveur, il vous suffit de saisir l'adresse IP du serveur pour terminer la configuration.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer