9

我正在使用Papertrail收集我的 Docker 容器的日志。为此,我在创建容器时使用了 syslog 驱动程序:

sudo docker run --name my_container --log-driver=syslog  ...

...并将以下行添加到我的/etc/rsyslog.conf

*.* @logsXXX.papertrailapp.com:YYYY

最后,我得到这样的 Papertrail 日志:

Apr 24 13:41:55 ip-10-1-1-86 docker/3b00635360e6: 10.0.0.5 - - [24/Apr/2015:11:41:57 +0000] "GET /healthcheck HTTP/1.1" 200 0 "-" "" "-"

问题是应用程序名称(参见syslog RFC)是docker/container_id

我宁愿拥有容器名称(或主机)。但我不知道该怎么做。我尝试为我的容器设置一个特定的主机名,如下所示,但效果不佳:

sudo docker run --name my_container -h my_container --log-driver=syslog  ...
4

1 回答 1

13

你不能这样做。这是添加该功能的待处理 PR:https ://github.com/docker/docker/pull/12668

希望它尽快合并。我想你总是可以自己动手。

更新:看起来这是为 Docker 1.8 准备的

更新:这现在是可能的:

docker run --name my_container --log-driver=syslog --log-opt syslog-tag=my_application
于 2015-04-26T20:23:17.240 回答