容器里的时间慢 8 小时?Docker 时区一招修

举报
yd_249372318 发表于 2026/11/08 03:27:42 2026/11/08
【摘要】 容器默认 UTC 时区导致日志错位,挂载 /etc/localtime 并设 TZ 环境变量一招修复,Alpine 需补 tzdata。

进容器 date 一看,比北京时间慢了 8 小时——镜像默认用 UTC,而宿主机是 CST。不改也能用,但日志时间戳全错位,排查问题时两头对不齐很折磨。

最快的修法是启动时挂载宿主机的时区文件并设环境变量:

docker run -e TZ=Asia/Shanghai -v /etc/localtime:/etc/localtime:ro …

大部分 Debian/Ubuntu 系官方镜像这样就好了。Alpine 系没有 tzdata,要再补一下:apk add tzdata。

已经跑起来的容器不想重建,docker exec 进去把 /etc/localtime 换掉再重启进程也行,但那是临时手段,重建容器才是正路。

顺手一提:docker logs 的时间戳跟 TZ 走,改完时区旧日志的时间不会跟着变,别误以为是日志丢了。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。