Docker 解决容器时间与主机时间不一致的问题三种解决方案

Docker容器时间与主机时间不一致

查看主机时间: date

 查看docker容器时间  docker   exec  容器名/容器id  date

  可以发现,他们相隔了8小时。
CST应该是指(China Shanghai Time,东八区时间)
UTC应该是指(Coordinated Universal Time,标准时间)

所以,这2个时间实际上应该相差8个小时。(bluer: 所以没有设置过的容器, 一般跟宿主机时间相差8h)
所以,必须统一两者的时区。

共享主机的localtime  (方法一)

创建容器的时候指定启动参数,挂载localtime文件到容器内  ,保证两者所采用的时区是一致的。

docker run --name <name> -v /etc/localtime:/etc/localtime:ro ....

 复制主机的localtime  (方法二)

docker cp /etc/localtime [containerId]:/etc/localtime

创建自定义的dockerfile  (方法三)

RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo 'Asia/Shanghai' >/etc/timezone \
posted on 2020-01-15 17:28  小破孩楼主  阅读(1802)  评论(0编辑  收藏  举报