


Que dois-je faire si Docker est créé avec succès mais ne parvient pas à se connecter ?
Écrit devant :
Cet article parle principalement des raisons et des solutions pour la création de docker mais de l'échec de la connexion. C'est un article pratique pour les débutants en docker. Les opérations et solutions présentées dans l'article sont basées sur l'environnement système Ubuntu.
Lors du processus d'utilisation de Docker, il existe certaines situations dans lesquelles même si votre conteneur est créé avec succès, il ne peut pas être connecté. Cette situation rend souvent les gens très angoissés et ne parviennent pas à trouver le problème. Cet article utilisera un cas pratique pour expliquer les raisons et les solutions pour lesquelles Docker est créé avec succès mais ne peut pas être connecté.
Description du cas :
Nous avons utilisé Docker pour créer un conteneur nginx sur notre ordinateur local, mais en y accédant, nous n'avons pas pu nous connecter avec succès.
Les étapes sont les suivantes :
- Installer docker sur le système Ubuntu
Entrez la commande suivante sur la ligne de commande :
sudo apt-get install docker.io
Une fois l'installation terminée, utilisez la commande suivante pour démarrer Docker :
sudo systemctl start docker
- Créer un conteneur nginx sur docker
Entrez la commande suivante sur la ligne de commande :
sudo docker run --name mynginx -p 80:80 -d nginx
This la commande signifie : créer un conteneur nginx à l'aide de l'image nginx. Le nouveau conteneur, dont le nom est mynginx, mappe le port 80 au port local 80 et s'exécute en arrière-plan.
- Vérifiez si le conteneur a été créé avec succès
Entrez la commande suivante sur la ligne de commande :
sudo docker ps
Si le contenu suivant s'affiche, le conteneur est créé avec succès :
CONTAINER ID IMAGE COMMAND CREATED STATUS NOMS DE PORTS
aaed7c1bcccf nginx "/ docker-entrypoint.…" il y a 21 secondes Jusqu'à 20 secondes 0.0.0.0:80->80/tcp mynginx
- Visitez nginx
dans le navigateur Entrez localhost dans le navigateur, ou 127.0 .0.1 Voir l'interface de bienvenue de nginx.
Cependant, il existe certaines situations dans lesquelles nginx n'est pas accessible.
Analyse du problème :
Tout d'abord, nous devons confirmer où se situe le problème.
- Afficher la configuration du pare-feu du système
L'outil de pare-feu par défaut du système Ubuntu est ufw Vous pouvez utiliser la commande suivante pour afficher sa configuration :
sudo ufw status
Si le résultat est le suivant, cela signifie que. le pare-feu du système est activé :
Statut : actif
À De
AUTORISER Partout
22/tcp (v6) AUTORISER n'importe où (v6)
80/tcp (v6) AUTORISER n'importe où (v6)
À l'heure actuelle, nous devez confirmer si le port 80 a été autorisé via le pare-feu du système. Comme vous pouvez le voir sur la sortie ci-dessus, l'accès au port 80 a été autorisé, ce n'est donc pas le problème.
- Si nous utilisons la commande ping pour vérifier l'état de la connexion réseau de 127.0.0.1, nous trouverons le message d'erreur suivant :
ping : connect : le réseau est inaccessible
Cela signifie que le réseau le problème de connexion réside ici. Continuez à rechercher la cause.
L'adresse du réseau local est-elle correcte ?- Essayez de vous connecter à l'adresse du réseau local du conteneur nginx Parce que lorsque nous avons créé le conteneur, nous avons mappé le port 80 au port local 80, nous devons donc utiliser le port local. adresse réseau du conteneur pour l’accès. Vous pouvez utiliser la commande suivante pour afficher l'adresse du conteneur local :
sudo docker inspect mynginx | grep IPAddress
Le résultat de la réponse doit être similaire à :
"IPAddress": "172.17.0.2",
Essayez de accédez à 172.17.0.2 dans le navigateur, vous pouvez voir la page d'accueil de nginx. Cela signifie que le mappage des ports et les règles de pare-feu sont actuellement correctes. Le problème vient des paramètres d'adresse du réseau local.
Solution :
Modifiez le fichier de configuration nginx, ajoutez un nœud de serveur dans le fichier de configuration, le nom d'hôte est l'adresse IP locale, comme suit :
server {
listen 80 default_server; listen [::]:80 default_server; server_name localhost; root /var/www/html; index index.html index.htm; location / { try_files $uri $uri/ =404; } # 新增的本机IP节点 server { listen 80; listen [::]:80; server_name <本机IP>; root /var/www/html; index index.html index.htm; location / { try_files $uri $uri/ =404; } }
}
Une fois la modification terminée, rechargez nginx fichier de configuration :
sudo nginx -s reload
Visitez à nouveau localhost ou 127.0.0.1 et vous pourrez voir la page d'accueil de nginx dans le navigateur.
Résumé :
Le problème selon lequel Docker est créé avec succès mais ne peut pas être connecté peut être lié à l'état de la connexion réseau, à la configuration du pare-feu du système, aux paramètres d'adresse du réseau local, etc. En résolvant le problème et en prenant des solutions appropriées, il peut être résolu en douceur. Lors de l'utilisation future de Docker, ne paniquez pas lorsque vous rencontrez des problèmes. Vous devez vous calmer, vérifier soigneusement les journaux, déterminer le problème, puis formuler une solution. Ce n'est qu'ainsi que vous pourrez mieux maîtriser la technologie Docker et améliorer l'efficacité du développement. .
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Docker est une compétence incontournable pour les ingénieurs DevOps. 1.Docker est une plate-forme conteneurisée open source qui atteint l'isolement et la portabilité par les applications d'emballage et leurs dépendances dans les conteneurs. 2. Docker fonctionne avec les espaces de noms, les groupes de contrôle et les systèmes de fichiers fédérés. 3. L'utilisation de base comprend la création, l'exécution et la gestion des conteneurs. 4. L'utilisation avancée comprend l'utilisation de dockercosive pour gérer les applications multi-container. 5. Les erreurs courantes incluent une défaillance des conteneurs, des problèmes de cartographie des ports et des problèmes de persistance des données. Les compétences de débogage incluent la visualisation des journaux, la saisie des conteneurs et la visualisation d'informations détaillées. 6. L'optimisation des performances et les meilleures pratiques incluent l'optimisation de l'image, les contraintes de ressources, l'optimisation du réseau et les meilleures pratiques pour l'utilisation de dockerfile.

Les méthodes d'amélioration de la sécurité Docker incluent: 1. Utilisez le paramètre - Cap-Drop pour limiter les capacités Linux, 2. Créer des conteneurs en lecture seule, 3. Définissez les balises Selinux. Ces stratégies protègent les conteneurs en réduisant l'exposition à la vulnérabilité et en limitant les capacités de l'attaquant.

Dockervolumes garantit que les données restent sûres lorsque les conteneurs sont redémarrés, supprimés ou migrés. 1. Créer un volume: dockervolumecreatemydata. 2. Exécutez le conteneur et le volume de montage: dockerrun-it-vmydata: / app / dataubuntubash. 3. L'utilisation avancée comprend le partage de données et la sauvegarde.

L'utilisation de Docker sur Linux peut améliorer l'efficacité du développement et du déploiement. 1. Installez Docker: utilisez des scripts pour installer Docker sur Ubuntu. 2. Vérifiez l'installation: exécutez Sudodockerrunhello-world. 3. Utilisation de base: Créez un conteneur Nginx Dockerrunrun-namemy-nginx-p8080: 80-dnginx. 4. Utilisation avancée: créez une image personnalisée, construisez et exécutez à l'aide de dockerfile. 5. Optimisation et meilleures pratiques: suivez les meilleures pratiques pour écrire des dockerfiles à l'aide de builds en plusieurs étapes et de dockercosive.

Docker fournit trois modes de réseau principaux: le réseau de ponts, le réseau hôte et le réseau de superposition. 1. Le réseau de ponts convient à la communication inter-container sur un seul hôte et est implémenté via un pont virtuel. 2. Le réseau hôte convient aux scénarios où des réseaux haute performance sont nécessaires, et le conteneur utilise directement la pile réseau de l'hôte. 3. Le réseau de superposition convient aux clusters DockersWarm multi-hôtes, et la communication croisée est réalisée via la couche de réseau virtuel.

Dockerswarm peut être utilisé pour construire des clusters de conteneurs évolutifs et hautement disponibles. 1) Initialisez le cluster d'essaims à l'aide de dockerswarminit. 2) Rejoignez le cluster Swarm pour utiliser Dockerswarmjoin - Takeking :. 3) Créez un service à l'aide de DockerServiceCreate-Namemy-Nginx - Replicas3Nginx. 4) Déployez des services complexes à l'aide de dockerstackdeploy-cdocker-compose.ymlmyapp.

Le cœur de la surveillance Docker est de collecter et d'analyser les données de fonctionnement des conteneurs, y compris principalement des indicateurs tels que l'utilisation du processeur, l'utilisation de la mémoire, le trafic réseau et les E / S de disque. En utilisant des outils tels que Prometheus, Grafana et Cadvisor, une surveillance complète et une optimisation des performances des conteneurs peuvent être obtenues.

Comment créer une image Docker efficace et optimisée? 1. Choisissez l'image de base appropriée, comme l'image officielle ou alpine. 2. Organisez l'ordre des instructions raisonnablement et utilisez le mécanisme de cache Docker. 3. Utilisez la construction en plusieurs étapes pour réduire la taille de l'image. 4. Minimiser le nombre de couches miroir et fusionner les instructions d'exécution. 5. Nettoyez des fichiers temporaires pour éviter l'espace de fichiers inutile.
