Как обратиться к контейнеру для регистрации с помощью 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:
    внешний: правда
Другие вопросы по тегам