0

我通过 记录我的 docker 容器的活动journald。容器提供的主机名是非描述性的。一个 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(因此默认情况下不在日志中使用)

4

1 回答 1

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 为您指明方向。

于 2019-07-26T11:43:38.563 回答