Как сделать работающий Docker-контейнер осведомленным о других контейнерах?

У меня есть распределенная служба, управляемая на сервере, который требует, чтобы клиентский IP-адрес был установлен в файле конфигурации.

На данный момент несколько клиентских контейнеров запускаются перед сервером, который связан с клиентами. Это позволяет серверу получить свой IP-адрес от их имени, как описано в его /etc/hosts, Эта информация затем устанавливается в файле конфигурации. Это работает для статической инфраструктуры.

Поскольку я хочу, чтобы моя инфраструктура была динамичной, я хочу добавить новых клиентов, но я не знаю, как заставить сервер узнать о других контейнерах, так как кажется, что невозможно установить новую конфигурацию (я использовал --link) для работающего контейнера.

Есть идеи?

1 ответ

Решение

Вы должны использовать инструмент обнаружения сервисов - etcd и Consul являются популярными вариантами для этого варианта использования.

Другие вопросы по тегам