標籤:targe href 圖片 利用 china 代碼 command one contex
問題描述:
公司內部搭建了一個gogs-git,是用docker部署的,但是發現提交的代碼什麼的時間跟伺服器時間不一致
提交上去的世界是UTC時間不是中國的時間CST,相當於慢了8個小時
1、docker容器內的時區是UTC
2、伺服器的時區是CTS
解決方案:
一開始以為是gogs設定檔問題,最好發現原來是docker容器的時間問題
gogs伺服器時間:[[email protected] ~]# dateFri Oct 19 16:19:19 CST 2018 docker容器的時間:[[email protected] lib]# docker exec -ti 13da3c3f2488 /bin/bashbash-4.3# dateFri Oct 19 07:16:49 UTC 2018 兩者相差了8個小時:gogs伺服器採用了CST時區,CST應該是指(China Shanghai Time,東八區時間)docker容器採用了UTC時區,UTC應該是指(Coordinated Universal Time,標準時間)
統一時間兩種方法:
1、複製主機的localtime:
[[email protected] lib]# docker cp /etc/localtime 13da3c3f2488:/etc/
然後再登陸docker容器,查看時間,發現時間已經跟伺服器時間同步了:
[[email protected] 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檔案,然後就不用每次啟動新的容器那麼都要修改時間了
[[email protected] 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時區時間