Когда все запускаются автономно за пределами докера, это работает без проблем, когда ядро пытается получить от cerner. Однако, делая то же самое, когда все докеризированы, как показано ниже, я получаю:
Get http://cerner:8602/api/v1/patient/search:, набираем TCP 192.168.240.4:8602: connect: соединение отклонено. .4 - это IP-адрес контейнера cerner, а .2 - это IP-адрес основного контейнера.
Cerner - это имя контейнера, вызываемого из основного. Если я изменю имя на ip-адрес хост-сервера и использую порты, это также будет работать нормально. Он просто не позволяет контейнеру использовать контейнеры DNS или IP. Я попытался с частной сетью и без нее и получил одно и то же.
Все контейнеры с нуля.
version: '3.7'
services: caConnector:
image: vertisoft/ca_connector:latest
ports:
- "8601:7001"
env_file:
- .env.ca_connector
networks:
- core-net
fhir:
image: vertisoft/fhir_connector:latest
container_name: cerner
ports:
- "8602:7002"
env_file:
- .env.fhir_connector
networks:
- core-net
core:
image: vertisoft/core:latest
ports:
- "8600:7000"
env_file:
- .env.core
networks:
- core-net
networks: core-net:
driver: bridge