如何配置码头容器日志中显示的主机名?



我通过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几乎没有信息,我担心它会随着时间的推移而改变(例如,如果它是某种哈希值,则使用新图像)。

有没有办法强制使用容器的名称以进行日志记录?

我尝试使用标签/etc/docker/daemon.json但没有帮助:

{
"log-driver": "journald",
"log-opts": {
"tag": "{{.Name}}"
}
}

编辑:容器由docker-compose管理,每个条目都有一个有意义的container_name(因此默认情况下不会在日志中使用)

解决方案是在docker-compose.yml中添加一个hostname条目:

mc-mi:
image: itzg/minecraft-server
container_name: mc-mi
hostname: mc-mi

从那时起,日志被视为来自mc-mi而不是c34ebd053ff5

值得注意的是,container_name不用作{{.Name}}

感谢@johnharris85带路。

相关内容

  • 没有找到相关文章

最新更新