早上到公司发现定时任务应该产生的文件在服务器上没有出现
排查发现服务器时区与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