J'ai plusieurs conteneurs docker dans le même réseau. J'essaie d'utiliser curl sur containerA pour obtenir le résultat d'une API sur le conteneur test01.docker.Conteneurs Docker: boucle entre les conteneurs ne fonctionne pas
J'exécuter cette commande sur le récipient A:
curl -s test-01.docker:8031/app?status -v
La sortie est la suivante:
* Hostname was NOT found in DNS cache
* Trying 172.19.0.24...
* connect to 172.19.0.24 port 8031 failed: Connection refused
* Failed to connect to test-01.docker port 8031: Connection refused
* Closing connection 0
Lorsque je tente de ping test01.docker de containerA en utilisant la commande suivante:
ping test-01.docker
Cela a réussi.
Lorsque je fais docker ps, il montre les informations suivantes. Dans mon
43823212be7e mytestimage "/docker-entrypoint.s" 53 seconds ago Up 47 seconds 22/tcp, 2812/tcp, 5060-5061/tcp, 6970-6971/tcp, 8002/tcp, 8030-8031/tcp, 8033/tcp, 8071/tcp, 8888/tcp, 9020-9023/tcp containerA
Ceci montre que le port 8031 est exposé. Je suis incapable de comprendre pourquoi curl échoue sur ce point. Quand je lance la commande suivante sur le test-01.docker, il me donne une sortie correcte:
curl -s localhost:8031/app?status
Je ne sais pas pourquoi sa ne fonctionne pas d'autres conteneurs dans un même réseau. Dites-moi s'il me manque quelque chose.
Mise à jour: Mon fichier docker-Compose ressemble à ceci:
version: '2'
services:
test-01.docker:
image: ##############
expose:
- 22
- 2812
- 8031
hostname: test-01
domainname: docker
Tout simplement parce que le réservoir de docker est * pas * en fait l'écoute sur le port 8031 sur votre réseau de docker interne. Le port 8031 est exposé à votre machine hôte, via une interface différente de celle utilisée par les conteneurs docker pour communiquer entre eux. – ffledgling
Êtes-vous capable de partager Dockerfiles/docker-compose.yml? – johnharris85
@ffledgling Comment rendre le port 8031 exposé à ma machine hôte via la même interface que celle utilisée par les conteneurs docker? –