Como endereçar o contêiner para log usando o docker-compose

1

Um contêiner descrito em docker-compose.yml usa a extensão de registro para enviar o registro para um contêiner 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

Mas esta configuração não funciona, pois o fluentd-address é visto externamente pelo host (também conhecido como o host) e não pelo contêiner nginx.

Portanto, é necessária uma maneira de saber o endereço IP do contêiner fora do contêiner, mas de uma maneira compatível para compor o docker, alguma idéia?

    
por Kartoch 05.11.2016 / 16:50

1 resposta

3

Com o docker-compose mais recente, ele não funciona em links, você precisa usar redes docker.

E, na verdade, você pode omitir o fluentd-address porque a detecção automática do driver do log fluentd para qualquer escuta dessa 24224 nesse caso

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
    
por 01.02.2017 / 22:05