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

Docker json-file日志驱动time字段为UTC,如何设置对应时区?

Docker json-file日志驱动time字段时区修改方案

问题原因

json-file日志驱动内的time字段由Docker守护进程(dockerd)收集容器日志时自动追加,读取的是宿主机上Docker运行环境的系统时间,与容器内部配置的TZ环境变量无关,因此默认会展示UTC时区时间。

解决方法

方案一:修改宿主机全局时区(推荐)

直接修改宿主机的系统时区,Docker daemon会默认继承系统时区:

  • 主流Linux发行版通用修改命令:timedatectl set-timezone Asia/Shanghai
    可将Asia/Shanghai替换为你需要的对应时区编码
  • 执行完成后重启Docker服务生效:
    systemctl restart docker
    

提示:重启Docker服务会导致运行中的容器短暂中断,建议在业务低峰期操作。

方案二:仅修改Docker daemon运行时区(不改动宿主机全局配置)

如果不想修改宿主机全局时区,可单独为Docker进程配置时区:

  1. 编辑Docker的systemd服务配置文件,默认路径为/usr/lib/systemd/system/docker.service
  2. 在[Service]配置段下添加时区环境变量:
    [Service]
    Environment="TZ=Asia/Shanghai"
    
  3. 重载systemd配置并重启Docker服务生效:
    systemctl daemon-reload
    systemctl restart docker
    

效果验证

配置完成后新创建启动的容器,生成的json日志中time字段会自动使用指定时区的时间戳,已存在的旧容器需要删除重建后才会生效,历史已生成的日志内容不会被修改。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 20:45:06