记一次docker时间与服务器时间不一致的修复


接手一个项目,发现数据生成日期和当前日期不一致,考虑几个可能

1.代码存在问题

2.服务器时间不正确

3.docker容器时间不正确

首先过一遍代码,获取当前系统时间无误,排除第一个原因;

进入服务器,执行命令

date

  确认时间与当前一致,排除第二个原因;

查看当前容器时间

docker exec -it 当前容器id /bin/sh
/usr/local/myapp # date

  

对比确认时间不一致,确定是docker时间问题,寻找解决方法,参考这位同学的方法:https://www.cnblogs.com/effortsing/p/10060547.html

编辑好dockerfile后执行报错:'/usr/share/zoneinfo/Asia/Shanghai' 路径找不到,无法进行cp操作

排查原因无果,考虑其它方法

在docker启动脚本上加上以下代码

#通过匹配docker镜像名获取镜像id
docker_find=$(docker ps -q --filter name=^/镜像名)
#将服务器的时区写入docker的本地时区文件里
docker cp /usr/share/zoneinfo/Asia/Shanghai $docker_find:/etc/localtime

  重新启动后查询容器时间

 

 获取成功!!

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM