今天利用docker发布服务,发现 程序用获取的系统时间比正常时间晚了8个小时

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

 

进入容器 docker exec -it /bin/sh

查询时间 date -R

发现时区为0时区

 

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

解决思路

 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或容器名

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

5. 重启容器

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄