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

 

posted @ 2019-04-17 09:59  zxymapper  阅读(4330)  评论(0编辑  收藏  举报