Как определить сервисы docker-compose для входа в graylog
У меня docker-compose.yaml
как показано ниже:
Моя проблема в том, что отпечатки stdout или записанные в него журналы появляются в graylog, но только те, которые находятся под командой /usr/bin/tini - foo1.start. И когда я пытаюсь войти в Docker-контейнер службы, используя:docker exec -it [container_hash] bash
Запуск команды, такой как echo "Hello" или запуск сценария python, в котором я буду делать import sys; sys.stdout.write("Hello again")
-> никакие сообщения об этом не появятся в полученных сообщениях в Graylog UI.
Любая идея, почему stdout не собирается с помощью выполнения команды оболочки или сценария в контейнере? и собирать распечатки только с какого запуска в результате выполнения команды make file?
Я не понимаю этого поведения, поскольку я передавал все stdout гель-лог-драйверу в docker-compose.
Изменить: инструкции, как использовать graylog в compose, отсюда
version: '3.4'
services:
foo1:
ports:
- target: 8081
published: 8084
mode: host
networks:
- dev-net
command: make foo1.start
logging:
driver: gelf
options:
gelf-address: udp://localhost:12201
some-mongo:
image: "mongo:3"
networks:
- dev-net
some-elasticsearch:
image: "elasticsearch:2"
command: "elasticsearch -Des.cluster.name='graylog'"
networks:
- dev-net
graylog:
image: graylog2/server:2.1.1-1
environment:
GRAYLOG_PASSWORD_SECRET: somepasswordpepper
GRAYLOG_ROOT_PASSWORD_SHA2: 8c6976e5b5410415bde908bd4dee15dfb1
GRAYLOG_WEB_ENDPOINT_URI: http://127.0.0.1:9000/api
links:
- some-mongo:mongo
- some-elasticsearch:elasticsearch
ports:
- "9000:9000"
- "12201:12201/udp"
networks:
- dev-net
networks:
dev-net:
ipam:
config:
- subnet: 192.168.12.0/24