Lorsque j'ai créé deux conteneurs Docker pour une même image Web sur un hôte Docker.
5000
5000
des deux conteneurs ont été mappés vers différents ports du docker Host: 49155
, 49156
49155
ou 49156
Existe-t-il une solution pour accéder à un conteneur de menu fixe à partir de l'hôte de menu fixe par son adresse IP et son port, x.x.x.x:5000
, sans mappage de port?
Tous les conteneurs Docker sur différents hôtes Dock peuvent accéder directement les uns aux autres.
Vous pouvez accomplir cela avec un alias IP sur l'hôte.
Tout d'abord, ajoutez une interface virtuelle sur l'hôte ayant une adresse IP différente de celle de l'interface principale. Nous appellerons l'interface primaire eth0
avec IP 10.0.0.10
, et l'interface virtuelle eth0:1
avec adresse IP 10.0.0.11
.
ifconfig eth0:1 10.0.0.11 netmask 255.255.255.0 up
Exécutez maintenant les conteneurs et mappez le port 5000 sur l'interface correspondante. Par exemple:
docker run -p 10.0.0.10:5000:5000 -name container1 <someimage> <somecommand>
docker run -p 10.0.0.11:5000:5000 -name container2 <someimage> <somecommand>
Vous pouvez maintenant accéder à chaque conteneur sur le port 5000 en utilisant différentes adresses IP en externe.