有什么好的办法解决 docker 容器与宿主机时间不同步的问题

 我来答
厚学设计培训指南
2017-08-04 · TA获得超过2019个赞
知道大有可为答主
回答量:1352
采纳率:79%
帮助的人:959万
展开全部

通过date命令查看时间

查看主机时间

查看容器时间

可以发现,他们相隔了8小时。

CST应该是指(China Shanghai Time,东八区时间)
UTC应该是指(Coordinated Universal
Time,标准时间)

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

所以,必须统一两者的时区。

共享主机的localtime  (方法一)

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

复制主机的localtime  (方法二)

在完成后,再通过date命令进行查看当前时间。

但是,在容器中运行的程序的时间不一定能更新过来,比如在容器运行的MySQL服务,在更新时间后,通过sql查看MySQL的时间

可以发现,时间并没有更改过来。

这时候必须要重启mysql服务或者重启Docker容器,mysql才能读取到更改过后的时间。

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

创建dockerfile文件,其实没有什么内容,就是自定义了该镜像的时间格式及时区。


保存后,利用docker build命令生成镜像使用即可。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
快又稳
2024-10-23 广告
广州快又稳网络科技有限公司是一家集技术研发、产品创新、服务优化于一体的高新技术企业。公司自成立以来,始终秉承“网络使人类缩进距离,我们让网络快又稳”的核心理念,致力于为全球客户提供高效、安全、易用的互联网解决方案及信息技术服务。在数字时代,... 点击进入详情页
本回答由快又稳提供
y1...3@33sn.cc
2017-08-04 · 超过20用户采纳过TA的回答
知道答主
回答量:68
采纳率:100%
帮助的人:13.9万
展开全部
完全需要docker要求宿主机操作系统内核3.10系统64位
B
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式