Maison  >  Article  >  Opération et maintenance  >  Comment accéder entre les conteneurs dans Docker

Comment accéder entre les conteneurs dans Docker

尚
original
2020-03-24 16:09:355278parcourir

Comment accéder entre les conteneurs dans Docker

Nous savons tous que les conteneurs Docker sont isolés les uns des autres et ne peuvent pas accéder les uns aux autres, mais que devons-nous faire s'il existe des services dépendants. Ce qui suit décrit trois méthodes pour résoudre le problème de l'accès mutuel aux conteneurs.

Méthode 1, accès IP virtuel

Lors de l'installation de Docker, Docker créera un pont réseau interne Docker0 par défaut. Chaque conteneur créé se voit attribuer une carte réseau virtuelle et les conteneurs peuvent accéder les uns aux autres. basé sur la propriété intellectuelle.

[root@33fcf82ab4dd /]# [root@CentOS ~]# ifconfig
......
docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 0.0.0.0
        inet6 fe80::42:35ff:feac:66d8  prefixlen 64  scopeid 0x20<link>
        ether 02:42:35:ac:66:d8  txqueuelen 0  (Ethernet)
        RX packets 4018  bytes 266467 (260.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 4226  bytes 33935667 (32.3 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
......

Méthode 2, lien

Ajouter un lien de paramètre lors de l'exécution du conteneur

Exécuter le premier conteneur

docker run -it --name centos-1 docker.io/centos:latest

Exécuter le deuxième conteneur

[root@CentOS ~]# docker run -it --name centos-2 --link centos-1:centos-1 docker.io/centos:latest

--link : Le premier centos-1 du paramètre est le nom du conteneur et le deuxième centos-1 est l'alias du conteneur défini (utilisez l'alias pour accéder au conteneur. Pour faciliter l'utilisation, l'alias est généralement par défaut). le nom du conteneur.

Les résultats du test sont les suivants :

[root@e0841aa13c5b /]# ping centos-1
PING centos-1 (172.17.0.7) 56(84) bytes of data.
bytes from centos-1 (172.17.0.7): icmp_seq=1 ttl=64 time=0.210 ms
bytes from centos-1 (172.17.0.7): icmp_seq=2 ttl=64 time=0.116 ms
bytes from centos-1 (172.17.0.7): icmp_seq=3 ttl=64 time=0.112 ms
bytes from centos-1 (172.17.0.7): icmp_seq=4 ttl=64 time=0.114 ms

Méthode 3. Créer un réseau de pont

1 Après avoir installé Docker, exécutez la commande suivante pour créer un réseau de pont : docker. network create testnet

Interrogez le pont testnet nouvellement créé.

Comment accéder entre les conteneurs dans Docker

2. Exécutez le conteneur et connectez-vous au réseau testnet.

Utilisation : docker run -it --name ---network 3. Ping d'un conteneur à un autre conteneur. Les résultats du test sont les suivants :

[root@CentOS ~]# docker run -it --name centos-1 --network testnet --network-alias centos-1 docker.io/centos:latest
[root@CentOS ~]# docker run -it --name centos-2 --network testnet --network-alias centos-2 docker.io/centos:latest

Pour plus de didacticiels connexes, veuillez faire attention à la colonne

tutoriel docker

sur le site Web PHP chinois.

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