0%

docker时间与宿主机不一致

检测时间

1.首先看宿主机时间

1
2
3
[root@localhost ~]# date
Mon Apr 27 16:33:13 CST 2020

2.在看容器时间

1
2
root@a9444253b914:/usr/local/tomcat# date
Mon Apr 27 08:36:30 UTC 2020

这里我们可以看出容器的时间跟宿主机不在一个时间

解决方案

1.我们可以将宿主的localtime文件copy到container id中替换掉

1
2
3
4
5
docker cp /etc/localtime 容器ID:/etc/localtime
[root@localhost appdatas]# docker cp /etc/localtime cat:/etc/localtime

Error response from daemon: Error processing tar file(exit status 1): invalid symlink "/usr/share/zoneinfo/UCT" -> "../usr/share/zoneinfo/Asia/Shanghai"

ps:因为软连接的问题导致这里报错
我们可以将宿主机的配置文件到其他地方(不保存原有的连接属性)

1
cp /etc/localtime ./

2.我们这时候在看下容器时间

1
2
root@a9444253b914:/usr/local/tomcat# date
Mon Apr 27 16:48:23 CST 2020

容器时间的坑

1.有时候我们程序需要打印日志,会发现容器的时间跟宿主时间是一致但是输出的日志时间有问题
2.解决方法

1
echo Asia/Shanghai > /etc/timezone

3.这时候我们需要重启下容器,然后检查日志.这时候我们的日志时间就正常了

-------------本文结束感谢您的阅读-------------