更改docker的syslog驱动程序发送的app-name

vca*_*rel 9 syslog docker papertrail-app

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

sudo docker run --name my_container --log-driver=syslog  ...
Run Code Online (Sandbox Code Playgroud)

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

*.* @logsXXX.papertrailapp.com:YYYY
Run Code Online (Sandbox Code Playgroud)

最后,我得到像这样的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 "-" "" "-"
Run Code Online (Sandbox Code Playgroud)

问题是app-name(参见syslog RFC)是docker/container_id

我宁愿拥有容器名称(或主机).但我不知道该怎么做.我尝试像下面一样为我的容器设置一个特定的主机名,但是效果不好:

sudo docker run --name my_container -h my_container --log-driver=syslog  ...
Run Code Online (Sandbox Code Playgroud)

Nat*_*rot 13

你不能这样做.以下是添加该功能的待定公关:https://github.com/docker/docker/pull/12668

希望很快就能合并.我想你总是可以自己动手.

更新:看起来这是针对Docker 1.8的

更新:现在可以:

docker run --name my_container --log-driver=syslog --log-opt syslog-tag=my_application
Run Code Online (Sandbox Code Playgroud)

  • *注意:*它现在是"标签"而不是"syslog-tag":https://docs.docker.com/engine/admin/logging/overview/#/syslog-options (4认同)