То, что я пытаюсь достичь, - перенаправить печать python из одного контейнера докера в другой (без каких-либо изменений внутри кода python), с graylog2 (я в настоящее время использую более старую версию, все в одном).
Итак, мой первый экземпляр докера содержит сервер graylog. Я создал второй экземпляр с Dockerfile, используя Ubuntu и включил простой скрипт, который печатает текущее время:
from datetime import datetime
import time
date = datetime.now()
print(str(date.day) + '/' + str(date.month) + '/' + str(date.year))
while True:
date = datetime.now()
print(str(date.hour) + ':' + str(date.minute) + ':' + str(date.second))
time.sleep(1)
Я использую команду ниже, чтобы запустить graylog
docker run -t -p 9000:9000 -p 12201:12201 graylog2/allinone
и запустить второй контейнер и запустите мой скрипт:
docker run --log-driver=gelf --log-opt gelf-address=udp://0.0.0.0:12201 test python -i ../test.py
Я пытаюсь отправить свои журналы в GELF UDP, не уверен, что это правильный путь, потому что нет никаких журналов, независимо от того, какой адрес / порт Я выбираю. На данный момент я даже не могу записать простое эхо из bash, но я не уверен, где проблема.
Обзор моего ввода: