Linux时区与Docker不一致问题

334 阅读1分钟

早上到公司发现定时任务应该产生的文件在服务器上没有出现

排查发现服务器时区与Docker内时区不一致,服务器时区为Asia/Shanghai,Docker内时区为UTC

应用为docker compose方式启动

解决方案如下:

  • 设置Linux服务器为上海时区(如已是,跳过此步)
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
  • 在/etc目录中增加timezone文件(如已有,跳过此步)
echo 'Asia/Shanghai' > /etc/timezone
  • 修改docker-compose.yml文件,在时区不一致的容器中增加以下配置
    volumes:
        - /etc/localtime:/etc/localtime
        - /etc/timezone:/etc/timezone
  • 重启docker容器

此时发现日志时间与容器内时间均已正常。

Linux CentOS 7.6.1810