Docker 修改容器内的时区

这几天发现我的zabbix docker发送的邮件和微信告警,发送邮件的时间与告警触发时间不一致,比正常时间晚了8个小时

 

 

进入宿主机查看容器 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

posted @ 2019-09-17 14:11  Double冬  阅读(13884)  评论(0编辑  收藏  举报