docker时区问题少8小时 国内Linux统一将UTC时间改为CST时间,即修改时区为Asia/Shanghai

 国内Linux统一改为CTS即修改时区为Asia/Shanghai,比较方便转换。

最简单的办法:直接把宿主机上的localtime文件复制到容器中的/etc目录下(宿主机上/etc/localtime是软链到/usr/share/zoneinfo/Asia/Shanghai,test_kjtcpserver_1是我容器名)

#把宿主机上的localtime文件复制到容器中的/etc目录下,改名为localtime
docker cp /usr/share/zoneinfo/Asia/Shanghai test_kjtcpserver_1:/etc/localtime
#改完重启容器 
docker restart test_kjtcpserver_1 

以下为参考:

UTC:协调世界时间,又称世界统一时间、世界标准时间、国际协调时间。由于英文(CUT)和法文(TUC)的缩写不同,作为妥协,简称UTC。Coordinated Universal Time

CST时间:中央标准时间Central Standard Time   比如
            (USA) UTC-6:00(美国cst时间:零区时减6个小时)
            (Australia) UTC+9:30(澳大利亚cst:加9个半小时)
            (China)UTC+8:00(中国cst:加8个小时) 

如:当UTC时间为0点时,中国CST时间为8点,因为零时区和中国北京时区相差8个时区。

--------------------------------------------------------------------------------------------------------------------------------------------------------

CentOS先查看Linux当前时区

date
ls -l /etc/localtime

获取时区TZ值(有些精简版的没有这个命令,没关系用上面最简单粗暴的办法

要更改 Linux 系统时区首先得获知你所当地时区的 TZ 值,使用 tzselect 命令即可查看并选择已安装的时区文件。通过向导选择你所在大洲、国家和城市,查到北京时区的TZ='Asia/Shanghai'

docker容器中 更改时区。改镜像较好。

rm -f /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

改前

改后

猜你喜欢

转载自blog.csdn.net/chenhao0568/article/details/109407792