Контейнер, описанный в 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 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