首页/云/云与容器速查/容器时区设置
本包目录(340 条)
云基础概念44 条计算与存储56 条网络与安全组33 条
容器与 Docker106 条
Kubernetes68 条容器排障33 条

容器时区设置

容器默认 UTC:日志时间与业务时间差 8 小时是经典问题。设置 -e TZ=Asia/Shanghai 依赖镜像内带 tzdata;否则挂载宿主 /etc/localtime 或装 tzdata 包。

云与容器速查云更新于 2026-10-12
方式 A-e TZ=Asia/Shanghai(镜像内需有 tzdata)
方式 B-v /etc/localtime:/etc/localtime:ro -v /etc/timezone:/etc/timezone:ro
Alpineapk add --no-cache tzdata 后设 TZ 才生效
验证docker exec 容器 date;与宿主 date 对比

使用示例

使用示例
docker run -d --name app -e TZ=Asia/Shanghai myapp:1.2.3
docker exec app date
docker run -d -v /etc/localtime:/etc/localtime:ro nginx:1.27
sed 时区文件、改 /etc/timezone 是兜底方案;统一优先 TZ 环境变量,行为最可预期。

易错点

  • 只设 TZ 没装 tzdata:时间仍按 UTC 走,问题反被掩盖
  • 时区不对导致定时任务与日志错位:跨时区团队排障被误导

数据来源与参考

  • Docker Docs:Container timezone(TZ 变量)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌