Docker 修改容器内的时区
今天利用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. 重启容器