Estoy tratando de implementar 3 contenedores de matraces docker usando docker-compose. Estoy ejecutando cada aplicación de matraz en un puerto diferente 127.0.0.1:5000, 127.0.0.1:5001, 127.0.0.1:5002. He mencionado los contenedores en el archivo docker-compose.yml. El docker-compose está creando una red predeterminada.

Pero cuando intento acceder al extremo del matraz de 5001 container's desde el código 5000 container's como

requests.get('http://127.0.0.1:5001/endpoint'), está arrojando el siguiente error.

HTTPConnectionPool (host = \ '0.0.0.0 \', puerto = 5001): se excedió el máximo de reintentos con url (causado por NewConnectionError

¿Alguien sabe por qué recibo esto?

0
Jarvis 30 sep. 2019 a las 17:00

1 respuesta

La mejor respuesta

Esto se debe a que está intentando conectarse a localhost dentro del contenedor de la ventana acoplable, es decir, el tráfico permanece dentro de ese contenedor de la ventana acoplable.

Lo que quiere hacer en su lugar es conectarse a su otro contenedor por su nombre de host. Dentro del contexto de la red administrada por docker / docker-compose, ese es solo el nombre del contenedor de la ventana acoplable. P.ej. para un contenedor foo, puede conectarse a través de HTTP al puerto 5001 usando http://foo:5001/ dentro de su contenedor.

2
user268396 30 sep. 2019 a las 14:02