У меня есть контейнер для двух служб NodeJS и один Nginx для обратного прокси.
Я сделал NGINX на порту 80, поэтому он общедоступен через localhost в моем браузере
Я также использую реверс-прокси proxy_pass каждому ответственному сервису.
location /api/v1/service1/ {
proxy_pass http://service1:3000/;
}
location /api/v1/service2/ {
proxy_pass http://service2:3000/;
}
В моей службе 1 есть модуль axios, который хочет вызвать службу 2, отправив запрос на localhost/api/v1/service2
Но он говорит, что в соединении отказано.Я сомневаюсь, что localhost
в службе 1 относится к своему контейнеру, а не к хосту докера.
version: '3'
services:
service1:
build: './service1'
networks:
- backend
service2:
build: './service2'
networks:
- backend
nginx:
image: nginx:alpine
ports:
- "80:80"
volumes:
- ./nginx/default.conf:/etc/nginx/conf.d/default.conf
networks:
- backend
networks:
backend:
driver: bridge
Даже после использования сети он по-прежнему говорит ECONNREFUSED.
Пожалуйста, помогите.