recherche
MaisonOpération et maintenanceDockerQue dois-je faire si le port Web créé par Docker est bloqué ?

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
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
Docker et Kubernetes: la puissance de l'orchestration des conteneursDocker et Kubernetes: la puissance de l'orchestration des conteneursMay 02, 2025 am 12:06 AM

Docker et Kubernetes améliorent le déploiement des applications et l'efficacité de gestion via l'orchestration des conteneurs. 1.Docker construit des images via DockerFile et exécute des conteneurs pour assurer la cohérence de l'application. 2. Kubernetes gère les conteneurs via POD, le déploiement et le service pour réaliser un déploiement et une expansion automatisés.

Docker contre Kubernetes: différences et synergies clésDocker contre Kubernetes: différences et synergies clésMay 01, 2025 am 12:09 AM

Docker et Kubernetes sont des leaders de la conteneurisation et de l'orchestration. Docker se concentre sur la gestion du cycle de vie des conteneurs et convient aux petits projets; Kubernetes est bon dans l'orchestration des conteneurs et convient aux environnements de production à grande échelle. La combinaison des deux peut améliorer l'efficacité du développement et du déploiement.

Docker et Linux: le partenariat parfaitDocker et Linux: le partenariat parfaitApr 30, 2025 am 12:02 AM

Docker et Linux sont des correspondances parfaites car elles peuvent simplifier le développement et le déploiement des applications. 1) Docker utilise les espaces de noms et les CGRoupes de Linux pour implémenter l'isolement des conteneurs et la gestion des ressources. 2) Les conteneurs Docker sont plus efficaces que les machines virtuelles, ont des vitesses de démarrage plus rapides et la structure hiérarchique en miroir est facile à construire et à distribuer. 3) Sur Linux, l'installation et l'utilisation de Docker sont très simples, avec seulement quelques commandes. 4) Grâce à DockerCose, vous pouvez facilement gérer et déployer des applications multi-container.

Docker contre Kubernetes: décider lequel utiliserDocker contre Kubernetes: décider lequel utiliserApr 29, 2025 am 12:05 AM

La différence entre Docker et Kubernetes est que Docker est une plate-forme conteneurisée adaptée aux petits projets et aux environnements de développement; Kubernetes est un système d'orchestration de conteneurs adapté aux grands projets et aux environnements de production. 1.Docker simplifie le déploiement des applications et convient aux petits projets avec des ressources limitées. 2. Kubernetes fournit des capacités d'automatisation et d'évolutivité, adaptées aux grands projets qui nécessitent une gestion efficace.

Docker et Kubernetes: construire des applications évolutivesDocker et Kubernetes: construire des applications évolutivesApr 28, 2025 am 12:18 AM

Utilisez Docker et Kubernetes pour créer des applications évolutives. 1) Créer des images de conteneur à l'aide de Dockerfile, 2) Déploiement et service de Kubernetes via la commande Kubectl, 3) Utilisez HorizontalPodautoscaler pour obtenir une mise à l'échelle automatique, créant ainsi une architecture d'application efficace et évolutive.

Kubernetes et Docker: une analyse comparativeKubernetes et Docker: une analyse comparativeApr 27, 2025 am 12:05 AM

La principale différence entre Docker et Kubernetes est que Docker est utilisé pour la conteneurisation, tandis que Kubernetes est utilisé pour l'orchestration des conteneurs. 1.Docker fournit un environnement cohérent pour développer, tester et déployer des applications et mettre en œuvre l'isolement et la limitation des ressources via des conteneurs. 2. Kubernetes gère les applications conteneurisées, fournit des fonctions de déploiement, d'extension et de gestion automatisées et prend en charge l'équilibrage de charge et la mise à l'échelle automatique. La combinaison des deux peut améliorer le déploiement des applications et l'efficacité de la gestion.

Docker en cours d'exécution sur Linux: installation et configurationDocker en cours d'exécution sur Linux: installation et configurationApr 26, 2025 am 12:12 AM

L'installation et la configuration de Docker sur Linux nécessite de s'assurer que le système est 64 bits et le noyau version 3.10 et supérieur, utilisez la commande "sudoapt-getUpdate" et installez-le avec la commande "sudoapt-getUpdate" et vérifiez-le avec "sudoapt-getUpdate" et. Docker utilise l'espace de noms et les groupes de contrôle du noyau Linux pour atteindre l'isolement des conteneurs et la limitation des ressources. L'image est un modèle en lecture seule et le conteneur peut être modifié. Des exemples d'utilisation incluent l'exécution d'un serveur Nginx et la création d'images avec Dockerfiles personnalisés. commun

Pourquoi utiliser Docker? Avantages et avantages expliquésPourquoi utiliser Docker? Avantages et avantages expliquésApr 25, 2025 am 12:05 AM

La raison de l'utilisation de Docker est qu'il fournit un environnement efficace, portable et cohérent pour former, distribuer et exécuter des applications. 1) Docker est une plate-forme conteneurisée qui permet aux développeurs d'emballer des applications et leurs dépendances dans des conteneurs portables légers. 2) Il est basé sur la technologie des conteneurs Linux et le système de fichiers conjoints pour assurer le démarrage rapide et un fonctionnement efficace. 3) Docker prend en charge la construction en plusieurs étapes, optimise la taille de l'image et la vitesse de déploiement. 4) L'utilisation de Docker peut simplifier les processus de développement et de déploiement, améliorer l'efficacité et assurer la cohérence entre les environnements.

See all articles

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 !

Outils chauds

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

MantisBT

MantisBT

Mantis est un outil Web de suivi des défauts facile à déployer, conçu pour faciliter le suivi des défauts des produits. Cela nécessite PHP, MySQL et un serveur Web. Découvrez nos services de démonstration et d'hébergement.

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

SublimeText3 Linux nouvelle version

SublimeText3 Linux nouvelle version

Dernière version de SublimeText3 Linux

Listes Sec

Listes Sec

SecLists est le compagnon ultime du testeur de sécurité. Il s'agit d'une collection de différents types de listes fréquemment utilisées lors des évaluations de sécurité, le tout en un seul endroit. SecLists contribue à rendre les tests de sécurité plus efficaces et productifs en fournissant facilement toutes les listes dont un testeur de sécurité pourrait avoir besoin. Les types de listes incluent les noms d'utilisateur, les mots de passe, les URL, les charges utiles floues, les modèles de données sensibles, les shells Web, etc. Le testeur peut simplement extraire ce référentiel sur une nouvelle machine de test et il aura accès à tous les types de listes dont il a besoin.