I've got a Docker project composed by:
- Rest API written in Flask (called "python")
- Backend written in nodejs (called "server")
- Mongodb
#docker-compose.yml
version: '3.8'
services:
server:
build:
context: ./server
dockerfile: ./Dockerfile
restart: on-failure
ports:
- "6000:6000"
links:
- python
- mongo
depends_on:
- python
- mongo
volumes:
- ./server:/code
env_file: .env
environment:
- MONGO_USERNAME=$DATABASE_USERNAME
- MONGO_PASSWORD=$DATABASE_PASSWORD
- MONGO_HOST=mongo
- MONGO_PORT=$DATABASE_PORT
- MONGO_DB=$DATABASE
networks:
- todo-network
python:
build:
context: ./rest_api_wrapper_py
dockerfile: ./Dockerfile
restart: on-failure
ports:
- "5000:5000"
links:
- mongo
depends_on:
- mongo
volumes:
- ./rest_api_wrapper_py:/code
env_file: .env
environment:
- MONGO_USERNAME=$DATABASE_USERNAME
- MONGO_PASSWORD=$DATABASE_PASSWORD
- MONGO_HOST=mongo
- MONGO_PORT=$DATABASE_PORT
- MONGO_DB=$DATABASE
networks:
- todo-network
mongo:
image: mongo
restart: on-failure
env_file: .env
environment:
- MONGO_INITDB_ROOT_USERNAME=$DATABASE_ROOT_USERNAME
- MONGO_INITDB_ROOT_PASSWORD=$DATABASE_ROOT_PASSWORD
- MONGO_INITDB_DATABASE=$DATABASE
- DATABASE_USERNAME=$DATABASE_USERNAME
- DATABASE_PASSWORD=$DATABASE_PASSWORD
- MONGO_PORT=$DATABASE_PORT
volumes:
- /home/s0n1c/tmp/mongo:/data/mongo
- ./docker_scripts/:/docker-entrypoint-initdb.d
- /data/mongodb/db:/data/db
ports:
- "27017:27017"
networks:
- todo-network
networks:
todo-network:
driver: bridge
"python" starts correctly:
Running on http://127.0.0.1:5000/
I need to call the endpoint python:5000/variables from "server" (node js):
(async () => {
try {
const res = await superagent.get('http://python:5000/variables');
console.log(res);
} catch (err) {
console.error(err);
}
})();
This request fails:
server_1 | Error: connect ECONNREFUSED 172.19.0.3:5000
server_1 | at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1141:16) {
server_1 | errno: -111,
server_1 | code: 'ECONNREFUSED',
server_1 | syscall: 'connect',
server_1 | address: '172.19.0.3',
server_1 | port: 5000,
server_1 | response: undefined
server_1 | }
Can someone help me, please? Thanks a lot