Maison Opération et maintenance Docker Que dois-je faire si le port Web créé par Docker est bloqué ?

Que dois-je faire si le port Web créé par Docker est bloqué ?

Apr 18, 2023 pm 02:07 PM

Docker est un moteur de conteneurisation open source très populaire. Il est largement utilisé dans les environnements de développement et de production car il peut être construit rapidement, facile à gérer et garantit la portabilité des applications. Cependant, lorsque vous utilisez Docker pour créer une application Web, il n'est pas rare que les ports soient incapables de communiquer. Aujourd'hui, nous analyserons les raisons et les solutions au port Web bloqué construit par Docker.

1. Analyse des causes

  1. Cause du pare-feu

Le service de pare-feu iptables est activé par défaut dans le système Linux. Si vous ne l'avez pas configuré, le pare-feu peut empêcher votre conteneur Docker de communiquer avec le réseau externe. Par conséquent, vous pouvez désactiver le pare-feu ou ajouter des règles afin que Docker puisse communiquer en douceur avec le réseau externe. Ce qui suit est une commande de référence :

Fermez le pare-feu : $ sudo service iptables stop

Ouvrir le port : $ sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT

  1. La raison du mappage de port

Une fois que Docker a démarré le conteneur, mappez le port du conteneur à un port de l'hôte via le mappage de port pour établir la communication entre le conteneur et le réseau externe. Par défaut, le réseau du conteneur est indépendant et ne communique qu'en interne. Par conséquent, si vous ne mappez pas les ports à l’intérieur du conteneur, le port risque de ne pas pouvoir communiquer. Voici la méthode de mappage du port par défaut :

$ docker run -p 80:80 image-name

  1. Problèmes de réseau de conteneur

Il existe trois pilotes réseau dans Docker, à savoir pont, hôte et aucun. Lors de l'utilisation de conteneurs Docker, le pilote réseau pont est utilisé par défaut, formant un réseau virtuel basé sur le réseau NAT. Si votre conteneur ne peut pas accéder au réseau externe, vous devrez peut-être vérifier si votre pilote réseau est correctement sélectionné. Vous pouvez utiliser la commande suivante pour afficher le pilote réseau :

$ docker network ls

  1. Problème d'adresse IP du conteneur

Une fois que Docker a démarré le conteneur, il attribuera une adresse IP unique basée sur le pilote réseau. Si l'adresse IP de votre conteneur ne peut pas accéder au réseau externe, vous devez vérifier si la carte réseau qui y est connectée est correctement configurée. Dans l'exemple suivant, nous pouvons voir que l'adresse IP du conteneur est 172.17.0.2 :

$ docker inspect containers-name | grep IPAddress

2. Solution

  1. Confirmez si le mappage du port est correct

Vous peut utiliser la méthode suivante Vérifiez la relation de mappage de port :

$ nom du conteneur du port docker

Le contenu de sortie doit être :

80/tcp -> 0.0.0.0:80

La commande ci-dessus peut vérifier le mappage de port. à l'intérieur du conteneur vers le port hôte.

  1. Confirmez si le pilote réseau est sélectionné correctement

Vous pouvez utiliser la méthode suivante pour vérifier le type de réseau utilisé par le conteneur :

$ docker inspect containers-name | grep NetworkMode

Si la sortie est bridge, il signifie que le pilote réseau a été sélectionné correctement. Si la sortie est host ou none, vous pouvez la modifier comme suit :

Changez le type de réseau en bridge :

$ docker run --network bridge image-name

  1. Confirmez si le pare-feu est désactivé ou si les règles sont défini correctement

OK Lors de l'exécution de la commande Docker, ajoutez un paramètre --privileged afin que le conteneur Docker dispose d'autorisations relativement élevées :

$ docker run --privileged image-name

  1. Confirmez si l'adresse IP du conteneur est correcte

Vous pouvez utiliser la commande suivante pour vérifier l'adresse IP du conteneur :

$ docker inspect containers-name | grep IPAddress

Si l'adresse IP de votre conteneur change, vous pouvez utiliser la commande suivante pour réattribuer une adresse IP unique :

$ docker run --ip 172.17.0.10 image -name

En bref, lorsque le port d'application Web démarré par votre Docker ne peut pas communiquer, vous devez d'abord rechercher la cause de cette situation, puis résoudre le problème de la manière correspondante. J'espère que cet article pourra aider tout le monde.

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 de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

<🎜>: Bubble Gum Simulator Infinity - Comment obtenir et utiliser les clés royales
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
<🎜>: Grow A Garden - Guide de mutation complet
3 Il y a quelques semaines By DDD
Nordhold: Système de fusion, expliqué
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Comment déverrouiller le grappin
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel Java
1673
14
Tutoriel PHP
1278
29
Tutoriel C#
1257
24
Comment sortir du conteneur par Docker Comment sortir du conteneur par Docker Apr 15, 2025 pm 12:15 PM

Quatre façons de quitter Docker Container: Utilisez Ctrl D dans le terminal de conteneur Entrez la commande d'exit dans le terminal de conteneur Utilisez Docker Stop & lt; contener_name & gt; Commande utilise docker kill & lt; contener_name & gt; commande dans le terminal hôte (sortie de force)

Comment copier des fichiers dans Docker à l'extérieur Comment copier des fichiers dans Docker à l'extérieur Apr 15, 2025 pm 12:12 PM

Méthodes de copie de fichiers en hôtes externes dans Docker: Utilisez la commande docker cp: exécuter docker cp [options] & lt; Container Path & gt; & lt; Host Path & gt;. Utilisation de volumes de données: créez un répertoire sur l'hôte et utilisez le paramètre -v pour monter le répertoire dans le conteneur lors de la création du conteneur pour obtenir la synchronisation de fichiers bidirectionnels.

Comment démarrer un conteneur par Docker Comment démarrer un conteneur par Docker Apr 15, 2025 pm 12:27 PM

Étapes de démarrage du conteneur Docker: Tirez l'image du conteneur: Exécutez "Docker Pull [Mirror Name]". Créer un conteneur: utilisez "Docker Create [Options] [Mirror Name] [Commandes et paramètres]". Démarrez le conteneur: exécutez "docker start [nom de conteneur ou id]". Vérifiez l'état du conteneur: vérifiez que le conteneur s'exécute avec "Docker PS".

Comment vérifier le nom du conteneur Docker Comment vérifier le nom du conteneur Docker Apr 15, 2025 pm 12:21 PM

Vous pouvez interroger le nom du conteneur Docker en suivant les étapes: répertorier tous les conteneurs (Docker PS). Filtrez la liste des conteneurs (à l'aide de la commande grep). Obtient le nom du conteneur (situé dans la colonne "Noms").

Comment redémarrer Docker Comment redémarrer Docker Apr 15, 2025 pm 12:06 PM

Comment redémarrer le conteneur Docker: Obtenez l'ID de conteneur (Docker PS); Arrêtez le conteneur (docker stop & lt; contener_id & gt;); Démarrer le conteneur (docker start & lt; contener_id & gt;); Vérifiez que le redémarrage réussit (Docker PS). Autres méthodes: Docker Compose (redémarrage Docker-Compose) ou API Docker (voir Docker Documentation).

Comment démarrer MySQL par Docker Comment démarrer MySQL par Docker Apr 15, 2025 pm 12:09 PM

Le processus de démarrage de MySQL dans Docker se compose des étapes suivantes: Tirez l'image MySQL pour créer et démarrer le conteneur, définir le mot de passe de l'utilisateur racine et mapper la connexion de vérification du port Créez la base de données et l'utilisateur accorde toutes les autorisations sur la base de données

Comment afficher les journaux de Docker Comment afficher les journaux de Docker Apr 15, 2025 pm 12:24 PM

Les méthodes pour afficher les journaux Docker incluent: à l'aide de la commande docker logs, par exemple: docker logs contener_name Utilisez la commande docker exec pour exécuter / bin / sh et afficher le fichier journal, par exemple: docker exec -it contener_name / bin / sh; Cat /var/log/continer_name.log Utilisez la commande docker-compose JORS de Docker Compose, par exemple: docker-compose -f docker-com

Comment créer des conteneurs pour Docker Comment créer des conteneurs pour Docker Apr 15, 2025 pm 12:18 PM

Créer un conteneur dans Docker: 1. Tirez l'image: docker pull [Nom du miroir] 2. Créer un conteneur: docker run [Options] [Nom du miroir] [Commande] 3. Démarrez le conteneur: docker start [Nom du conteneur]

See all articles