将python打印输出redirect到graylog2

我试图实现的是redirect的Python打印从一个docker集装箱到另一个(没有任何修改内部的python代码),与graylog2(我目前使用的是旧版本,全部在一个)。

所以我的第一个docker实例包含了graylog服务器。 我用Dockerfile创build了第二个实例,使用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,不知道是否正确,因为没有任何日志,不pipe我select哪个地址/端口。 现在我甚至不能loggingbash的简单回声,但是我不确定问题本身在哪里。

您必须将udp端口绑定到graylog2容器。

docker run -t -p 9000:9000 -p 12201:12201 / udp graylog2 / allinone