У меня есть два контейнера Docker: node-a, node-b. Один из них (узел-b) должен отправить http-запрос другому (узел-а). Я запускаю их с Docker Compose. Когда я пытаюсь создать их с помощью Compose, я сталкиваюсь с ошибкой:
Получите http://node-a:9098: наберите tcp 172.18.0.3:9098: getsockopt: соединение отклонено
EXPOSE объявлен в Docker-файле a-узла:
EXPOSE 9098
докер-compose.yml:
version: '3'
services:
node-a:
image: a
ports:
- 9098:9098
volumes:
- ./:/a-src
depends_on:
- redis
node-b:
image: b
volumes:
- ./:/b-src
depends_on:
- node-a
Переадресация включена. Я считаю, что сервер запускается, потому что он хорошо работает без Docker.
Куда мне следует обратить внимание? Что может вызвать проблему?
РЕДАКТИРОВАТЬ:
Я пытался добавить ссылки, но это не помогло:
node-b:
image: b
volumes:
- ./:/b-src
links:
- node-a
depends_on:
- node-a
Также links
, похоже, устарел и делает то же самое, что и depends_on
в 2+ версии docker-compose.yml:
docker-compose выполнить файлы V2, он автоматически создаст сеть между всеми контейнерами, определенными в файле, и каждый контейнер сможет немедленно ссылаться на другие, просто используя имена, определенные в файле docker-compose.yml.