记一次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

  重新启动后查询容器时间

 

 获取成功!!

 

posted @ 2021-02-23 14:31  迷途小小明  阅读(1156)  评论(0)    收藏  举报