我通过journald
记录了Docker容器的活动。容器提供的主机名是非描述性的。 Minecraft docker容器的示例:
Jul 25 16:51:38 srv c34ebd053ff5[19692]: [14:51:38 ERROR]: Could not pass event ArmorEquipEvent to Carmor v1.2.2
c34ebd053ff5
几乎没有信息,我担心它会随着时间而改变(例如,如果是某种哈希,则带有新图像)。
有没有一种方法可以强制使用容器名称进行记录?
我尝试use tags /etc/docker/daemon.json
,但没有帮助:
{
"log-driver": "journald",
"log-opts": {
"tag": "{{.Name}}"
}
}
编辑:容器由docker-compose
管理,并且每个条目都有一个有意义的container_name
(因此默认情况下不会在日志中使用
答案 0 :(得分:0)
解决方案是向hostname
中添加一个docker-compose.yml
条目:
mc-mi:
image: itzg/minecraft-server
container_name: mc-mi
hostname: mc-mi
从那时起,日志被视为来自mc-mi
而不是c34ebd053ff5
。
值得注意的是,container_name
未被用作{{.Name}}
。
谢谢@ johnharris85的演示方法。