Méthodes de communication entre les conteneurs dans Docker : 1. Utilisez l'adresse IP du conteneur pour accéder ; 2. Utilisez le « ip :port » de l'hôte pour accéder ; 3. Utilisez le lien pour établir une connexion pour la communication ; » pour communiquer.
L'environnement d'exploitation de ce tutoriel : système linux7.3, version docker-1.13.1, ordinateur Dell G3.
1 Accès via l'IP du conteneur
Après le redémarrage du conteneur, l'adresse IP changera. L'accès via l'IP du conteneur n'est pas une bonne solution.
2. Accès via l'ip:port de l'hôte
L'accès via l'ip:port de l'hôte ne peut compter que sur le processus d'écoute sur le port exposé pour une communication limitée.
3. Établir une connexion via un lien (officiellement déconseillé)
Lors de l'exécution d'un conteneur, spécifiez le paramètre lien afin que le conteneur source et le conteneur lié puissent communiquer entre eux, et que le conteneur accepté puisse obtenir certaines données du conteneur source, tel que :Variables d'environnement.
# 源容器:mysql docker run -itd --name test-mysql -e MYSQL_ROOT_PASSWORD=root mysql:5.7 #被链接容器 centos docker run -itd --name test-centos --link test-mysql:mysql centos /bin/bash #进入test-centos docker exec -it test-centos /bin/bash
Vous pouvez entrer directement via le nom du lien ou l'alias que vous avez pris lors de la création du lien :
Conteneurs établis via le lien, le conteneur lié peut pinger le conteneur source, mais pas l'inverse.
Afficher les variables d'environnement sur le conteneur lié
Le conteneur lié héritera des informations sur les variables d'environnement du conteneur source.
Contrairement aux entrées d'hôte dans /etc/hosts, l'adresse IP stockée dans la variable d'environnement n'est pas automatiquement mise à jour si le conteneur source est redémarré. Nous vous recommandons d'utiliser l'entrée host dans /etc/hosts pour résoudre l'adresse IP du conteneur lié.
En plus des variables d'environnement, Docker ajoute également l'entrée hôte du conteneur source au fichier /etc/hosts.
Si le conteneur source est redémarré, le fichier /etc/hosts sur le conteneur de liens sera automatiquement mis à jour avec la nouvelle adresse IP du conteneur source, permettant ainsi la poursuite de la communication par lien.
4. Créez un réseau de pont via des réseaux définis par l'utilisateur (recommandé)
réseau docker et attribuez le conteneur au réseau de pont nouvellement créé lors de l'exécution de docker, afin que les conteneurs du même réseau de pont puissent accéder les uns aux autres via .
Créer un réseau
docker network create test-network
Lors du démarrage d'un conteneur, rejoignez le réseau créé
docker run -it --network test-network --network-alias mysql -e MYSQL_ROOT_PASSWORD=123 mysql:5.7
Démarrez le conteneur lié
docker run -it --network test-network --network-alias centos centos /bin/bash
Apprentissage recommandé : "Tutoriel vidéo Docker"
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!