码迷,mamicode.com
首页 > 其他好文 > 详细

解决Docker容器时区不一致的问题

时间:2019-03-27 00:04:47      阅读:325      评论:0      收藏:0      [点我收藏+]

标签:主机   模式   test   不一致   ima   har   env   选项   验证   

查看linux系统时区和docker容器时区

date -R                          //查看linux主机时间和时区
date exec [container] date -R    // 查看容器时间和时区

技术图片

2者的时间差了8个小时

 

解决方案

1、利用Dockerfile创建镜像时。在Dockerfile中加入

ENV TIME_ZONE=Asia/Shanghai 
RUN ln -snf /usr/share/zoneinfo/$TIME_ZONE /etc/localtime && echo $TIME_ZONE > /etc/timezone

2、容器创建时。加入时区挂载选项:-v /etc/localtime:/etc/localtime。实例:

docker run -d -p 6379:6379 -v /etc/localtime:/etc/localtime --name test-redis redis

技术图片

 3、容器已启动时。

docker exec -it container /bin/bash // 进入交互模式,container为容器ID或名称,下同
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
docker restart container // 重启容器
docker exec container date -R // 查看时区

技术图片

 

以上均亲测试,良心保证,另外网上有搜到docker cp /etc/localtime [container]:/etc/localtime方法,但实际验证没成功,不知为何。

解决Docker容器时区不一致的问题

标签:主机   模式   test   不一致   ima   har   env   选项   验证   

原文地址:https://www.cnblogs.com/zhi-leaf/p/10604574.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!