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

docker修改容器gogs时区时间

时间:2018-10-22 20:31:48      阅读:359      评论:0      收藏:0      [点我收藏+]

标签:targe   href   图片   利用   china   代码   command   one   contex   

技术分享图片

问题描述:

公司内部搭建了一个gogs-git,是用docker部署的,但是发现提交的代码什么的时间跟服务器时间不一致

提交上去的世界是UTC时间不是中国的时间CST,相当于慢了8个小时

1、docker容器内的时区是UTC 
2、服务器的时区是CTS

技术分享图片

技术分享图片

 

解决方法:

 一开始以为是gogs配置文件问题,最好发现原来是docker容器的时间问题

gogs服务器时间:
[root@localhost ~]# date
Fri Oct 19 16:19:19 CST 2018

 
docker容器的时间:
[root@localhost lib]# docker exec -ti 13da3c3f2488 /bin/bash
bash-4.3# date
Fri Oct 19 07:16:49 UTC 2018
 
两者相差了8个小时:
gogs服务器采用了CST时区,CST应该是指(China Shanghai Time,东八区时间)
docker容器采用了UTC时区,UTC应该是指(Coordinated Universal Time,标准时间)

统一时间两种方法:
1、复制主机的localtime:
[root@localhost lib]# docker cp /etc/localtime 13da3c3f2488:/etc/


然后再登陆docker容器,查看时间,发现时间已经跟服务器时间同步了:
[root@localhost lib]# docker exec -ti 13da3c3f2488 /bin/bash
bash-4.3# date
Fri Oct 19 15:19:42 CST 2018
bash-4.3# exit
2、创建dockerfile文件,然后就不用每次启动新的容器那么都要修改时间了
[root@localhost docker]# vim dockerfile
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
保存后,利用docker build命令生成镜像使用即可

具体操作方法可以参考docker官方文档:https://docs.docker.com/engine/reference/commandline/build/#tarball-contexts

docker修改容器gogs时区时间

标签:targe   href   图片   利用   china   代码   command   one   contex   

原文地址:https://www.cnblogs.com/Sungeek/p/9818021.html

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