Maison >Opération et maintenance >Docker >Quelles sont les méthodes de communication entre les conteneurs dans Docker ?

Quelles sont les méthodes de communication entre les conteneurs dans Docker ?

WBOY
WBOYoriginal
2022-02-07 10:38:1012950parcourir

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.

Quelles sont les méthodes de communication entre les conteneurs dans Docker ?

L'environnement d'exploitation de ce tutoriel : système linux7.3, version docker-1.13.1, ordinateur Dell G3.

Quelles sont les méthodes de communication entre les conteneurs dans Docker

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 :

Quelles sont les méthodes de communication entre les conteneurs dans Docker ?

Quelles sont les méthodes de communication entre les conteneurs dans Docker ?

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é

Quelles sont les méthodes de communication entre les conteneurs dans Docker ?

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.

Quelles sont les méthodes de communication entre les conteneurs dans Docker ?

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

Quelles sont les méthodes de communication entre les conteneurs dans Docker ?

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!

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