Назад | Перейти на главную страницу

Как сделать так, чтобы работающий контейнер Docker знал о других контейнерах?

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

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

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

Любые идеи ?

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