我想要实现的是将python print从一个docker容器重定向到另一个(在python代码中没有任何修改),使用graylog2(我目前正在使用旧版本,一体化)。
所以我的第一个docker实例包含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的简单回声,但我不确定问题本身在哪里。
答案 0 :(得分:1)
您必须绑定graylog2容器的udp端口。
docker run -t -p 9000:9000 -p 12201:12201 / udp graylog2 / allinone