如何使用 docker-compose 处理容器日志

如何使用 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 网络。

实际上你可以省略,fluentd-address因为在这种情况下,fluentd 日志驱动程序会自动发现任何在 24224 上监听的内容

版本:“2”
服务:
  流利:
    图片:fluent/fluentd:v0.14.8
    容器名称:fluentd
    网络:
      - NW-01

  nginx的:
    图片:nginx:1.11.5
    容器名称:nginx
    网络:
      - NW-01
    记录:
      驱动程序:fluentd
网络:
  NW-01:
    外部:真实

相关内容