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

Как обратиться к контейнеру для ведения журнала с помощью 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, любая идея?

С последней версией docker-compose он не будет работать со ссылками, вам нужно использовать сети докеров.

И на самом деле вы можете опустить fluentd-address потому что в этом случае драйвер журнала fluentd автоматически обнаруживает все, что слушает 24224

version: "2"
services:
  fluentd:
    image: fluent/fluentd:v0.14.8
    container_name: fluentd
    networks:
      - nw-01

  nginx:
    image: nginx:1.11.5
    container_name: nginx
    networks:
      - nw-01
    logging:
      driver: fluentd
networks:
  nw-01:
    external: true