Как обратиться к контейнеру для регистрации с помощью docker-compose
Контейнер описан в docker-compose.yml использует расширение журнала для отправки журнала в контейнер Fluentd.
version: "2"
services:
fluentd:
image: fluent/fluentd:v0.14.8
container_name: fluentd
nginx:
image: nginx:1.11.5
container_name: nginx
links:
- fluentd
logging:
driver: fluentd
options:
fluentd-address: fluentd:24224
Но эта конфигурация не работает, так как fluentd-address внешне виден хостом (он же хост), а не внутри контейнера nginx.
Таким образом, требуется способ узнать IP-адрес контейнера вне контейнера, но совместимым способом для docker-compose, вы понимаете?
1 ответ
Решение
С последним docker-compose он не будет работать с ссылками, вам нужно использовать Docker Network.
И на самом деле вы можете опустить fluentd-address потому что Fluentd AutoDog драйвер обнаружения для Anyting, что прослушивание на 24224 в этом случае
версия: "2"
Сервисы:
fluentd:
изображение: свободно / свободно:v0.14.8
имя контейнера: fluentd
сети:
- NW-01
Nginx:
изображение: nginx:1.11.5
Имя контейнера: nginx
сети:
- NW-01
протоколирование:
водитель: свободно
сети:
NW-01:
внешний: правда