宿主機採用了CST時區,CST應該是指(China Shanghai Time,東八區時間) 容器採用了UTC時區,UTC應該是指(Coordinated Universal Time,標準時間)
統一二者的時區有下面幾種方法 1)共享主機的localtime 建立容器的時候指定啓動參數,掛載localtime文件到容器內,保證二者所採用的時區是一致的。nginx
docker run -ti -d --name my-nginx -v /etc/localtime:/etc/localtime:ro docker.io/nginx /bin/bashdocker
2)複製主機的localtimetomcat
[root@slave-1 ~]# docker cp /etc/localtime 87986863838b:/etc/bash
而後再登錄容器,查看時間,發現已經跟宿主機時間同步了ui
[root@slave-1 ~]# docker exec -ti 87986863838b /bin/bash root@87986863838b:/# date Fri May 12 11:26:19 CST 2017
3)建立dockerfile文件的時候,自定義該鏡像的時間格式及時區。在dockerfile文件裏添加下面內容:code
FROM tomcat ENV CATALINA_HOME /usr/local/tomcat ....... #設置時區 RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone ......
保存後,利用docker build命令生成鏡像使用便可,使用dockerfile建立的鏡像的容器改變了容器的時區,這樣不只保證了容器同步