одного приложения к контейнерам другого? Оба разворачиваются через docker-compose
Я пока только такой вариант опробовал:
networks:
default:
external:
name: some-common-network
где some-common-network это докер-сетка, которую я предварительно должен создать. Все работает. Но может есть вариант еще проще?
по имени сервиса
не работает
а если вот так сделашь, то сможешь видеть, но нужно сетку создавать
Не, другого нет способа
Работает только при наличии всех нужных контейнеров в одной сети
Все-таки удалось решить без создания дополнительной сети Насколько это хорошее решение пусть будет на совести использующего. Сначала опишу один нюанс: пускай у вас есть два приложения primary и secondary. Вы хотите чтобы secondary видел контейнеры primary. Если вы воспользуетесь данным решением, то вам надо будет сначала запустить контейнеры primary (ну или создать соответствующую сетку), а потом уже запускать контейнеры в secondary. Иначе будет ошибка: Network primary_default declared as external, but could not be found. Please create the network manually using `docker network create primary_default` and try again. Итак, решение: 1. В докере primary ничего не нужно менять. Когда вы запустите docker-compose up в primary, докер создаст дефолтную сетку primary_default, в которой существуют контейнеры primary. Она понадобится далее. 2. В файле docker-compose.yml приложения secondary сделайте следующее: 2.1. Во всех сервисах, которые должны иметь доступ к контейнерам приложения primary укажите: services: your_service: networks: - default - primary_default 2.2 В конце docker-compose.yml добавьте: networks: primary_default: external: true После этого, сервисы secondary будут видеть в сети сервисы primary (по названию сервиса). Если вам надо чтобы и primary могло видеть secondary. То сделайте аналогичные настройки в docker-compose.yml приложения primary. Название сервиса можно задать так: services: your_service: container_name: my_super_service P.S: есть еще один альтернативный вариант: указать внешний хост для контейнера. Но это уже другая история
да все верно, таким образом ты наплодил сущностей в виде сеток, ради ничего.
Обсуждают сегодня