You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker json-file日志驱动配置tag选项报未知错误如何解决

问题说明

需求为实现容器输出日志自动携带容器名称与容器ID信息,查阅Docker官方文档得知支持自定义日志输出格式后,修改docker-compose.yml文件中的logging配置段,部署时收到如下报错:

ERROR: Cannot create container for service init: unknown log opt 'tag' for json-file log driver

尝试将tag选项放置在options层级之外配置,仍收到同类报错,需确认当前配置方式是否存在错误,以及对应的调整方案。
涉及的原始配置如下:

logging:
    driver: "json-file"
    options:
        tag: "{{.Name}}/{{.ID}}"
        max-size: "25m"
        max-file: "2"
故障原因

出现该报错的核心原因是当前运行的Docker Engine版本过低:json-file日志驱动的tag自定义参数是Docker 1.13版本才新增的特性,1.13之前的版本无法识别该配置项,就会抛出未知日志选项的错误。
你最初将tag放在options层级内的配置写法本身是符合规范的,放到options层级外反而属于错误写法,不会解决报错。

调整方案
  • 先执行docker version查看服务端Docker版本,将Docker Engine升级到1.13及以上的稳定版本,这是使用json-file驱动tag配置的前置要求,低版本无其他绕过方案。
  • 版本升级完成后,保持tag在options层级内的配置结构即可正常部署。如果希望日志里的容器ID为常用的12位短ID(默认取完整64位长ID),可以调整tag配置做截断,可读性更强。

调整后的可用配置参考:

logging:
    driver: "json-file"
    options:
        tag: "{{.Name}}/{{.ID | trunc 12}}"
        max-size: "25m"
        max-file: "2"

配置生效后,查看容器日志时每条日志都会自动携带配置的「容器名/容器ID」前缀,满足日志溯源需求。

内容的提问来源于stack exchange,提问作者Josh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.01 19:06:40