方法1:

容器运行时传时区的变量

-e TZ=Asia/Shanghai

 

方法2:

进入宿主机查看容器 docker ps

进入容器 docker exec -it “容器名“ bash

查询时间 date -R 发现时区为0时区

bash-5.0# date -R
Tue, 17 Sep 2019 05:51:30 +0000

———————————————————————————-

解决办法

1.复制相应的时区文件,替换系统时区文件;

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

有的容器基础镜像是有这个文件的,直接拷贝就可以,如果不能拷贝,则是因为创建镜像时依赖的基础镜像 运行的容器没有这两个文件,使用下面的办法

2. 创建文件夹

mkdir -p /usr/share/zoneinfo/Asia

3.回到宿主机,复制宿主机里的文件到容器中

docker cp /usr/share/zoneinfo/Asia/Shanghai 容器ID或容器名:/usr/share/zoneinfo/Asia

4. 进入容器

docker exec -it 容器Id或容器名 bash

执行命令 cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

5. 验证date

bash-5.0# date
Tue Sep 17 13:54:25 CST 2019

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注