У меня есть проект Docker, состоящий из:
- Rest API, написанного на Flask (называемого «python»)
- Backend, написанного на nodejs (так называемый «сервер»)
- 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" запускается правильно:
Running on http://127.0.0.1:5000/
Мне нужно вызвать конечную точку python: 5000 / переменные с «сервера» (node js):
(async () => {
try {
const res = await superagent.get('http://python:5000/variables');
console.log(res);
} catch (err) {
console.error(err);
}
})();
Этот запрос не выполняется:
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 | }
Кто-нибудь может мне помочь, пожалуйста? Большое спасибо