Docker 修改容器内的时区

时间:2021-07-07 16:41:41

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

进入容器 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. 重启容器