在使用docker部署java程序的时候,遇到一个问题,docker的时间和实际宿主机晚了8小时。

分析后发现是docker的时区问题。

执行下面命令修改时区

ln -sf /usr/share/zoneinfo/Asia/Shanghai  /etc/localtime
echo "Asia/Shanghai" > /etc/timezone

可以看到时间已经和宿主机一致

root@hkwjfj001:/app# date
Wed Jul 30 01:16:05 AM UTC 2025
root@hkwjfj001:/app# ln -sf /usr/share/zoneinfo/Asia/Shanghai  /etc/localtime
root@hkwjfj001:/app# echo "Asia/Shanghai" > /etc/timezone
root@hkwjfj001:/app# date
Wed Jul 30 09:16:21 AM CST 2025