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

如何取消Docker守护进程日志中JSON日志内容的转义?

取消Docker守护进程日志的JSON转义

默认情况下,Docker的json-file日志驱动会把容器输出的内容当作普通字符串,打包进{"log": "..."}结构里——如果容器输出的是JSON,内部引号就会被转义,出现你看到的{"log": {\"key\": \"value\"}}格式。要取消这种转义,可以通过以下方法配置日志驱动:

全局生效配置(所有容器适用)

  1. 编辑或创建Docker守护进程配置文件/etc/docker/daemon.json,添加以下内容:
    {
      "log-driver": "json-file",
      "log-opts": {
        "json-structured-logs": "true"
      }
    }
    
  2. 重启Docker服务让配置生效:
    sudo systemctl restart docker
    
    开启json-structured-logs后,只要容器输出的是合法JSON,日志驱动会直接解析并保留原始JSON结构,不再将其作为字符串封装到log字段中,自然也就不会产生转义。

单容器生效配置(仅针对特定容器)

如果不想全局修改,在启动容器时添加日志选项即可:

docker run --log-driver json-file --log-opt json-structured-logs=true <你的镜像名>

注意点

  • 这个配置只对容器输出的标准JSON内容有效,如果输出不是合法JSON,驱动还是会按普通字符串处理。
  • 全局配置修改后,已在运行的容器不会自动应用,需要重启这些容器才能生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 20:23:25