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éé.
2. Exécutez le conteneur et connectez-vous au réseau testnet.
Utilisation : docker run -it --name
[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 dockerCe 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!