Docker部署容器与主机时间不一致问题

这篇具有很好参考价值的文章主要介绍了Docker部署容器与主机时间不一致问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Docker部署容器与主机时间不一致问题

使用docker容器部署的应用,会出现时间与主机不一致的情况。有两种情况:一是容器内时间与主机时间不一致,二是容器与主机时间不一致,差距为8小时;文章来源地址https://www.toymoban.com/news/detail-506695.html

简单解决问题方案:

  • 容器时间与主机差8个小时:主机的与容器的/etc/localtime不-致。解决方法:创建容器的时候指定启动参数,自动挂载localtime文件到容器内;
    docker run --name api-groups -v /etc/localtime:/etc/localtime:ro -v /usr/local/docker/unnet-log/api-log/:/unnet-log/oneclick/ -d -p 9080:9080 api-groups:1.0
  • 如果容器里面运行的是Java程序,Java代码获取的时间还是会有8个小时的差别,主要原因是Java获取时间是从/etc/timezone里获取时区的。解决方法:挂载主机的/etc/timezone到容器,如果没有则新建echo "Asia/shanghai" > /etc/timezone或者是通过Jvm参数-Duser.timezone=GMT+08将时区信息传进Jvm里,Docker运行容器时添加启动参数:-e JAVA_OPTS='-Duser.timezone=GMT+08',完整命令可以参考:
docker run --name mgmt  \
 -e JAVA_OPTS='-Duser.timezone=GMT+08' \
 -v /etc/localtime:/etc/localtime:ro \
 -v /usr/local/docker/unnet-log/:/usr/local/tomcat/logs \
 -d -p 8090:8080 images-name

到了这里,关于Docker部署容器与主机时间不一致问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包