Как обращаться к контейнеру для ведения журнала с помощью 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
задан 5 November 2016 в 17:50
1 ответ

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

И на самом деле вы можете опустить fluentd-address , потому что fluentd log автообнаружение драйвера для любого прослушивания 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
3
ответ дан 3 December 2019 в 18:32

Теги

Похожие вопросы