有時我們在用docker時總會發現Docker容器時間與主機時間不一致,其實在docker容器和系統時間不一致是因為docker容器的原生時區為0時區,而國內系統為東八區
解決方法如下:
方法一:
復制主機的localtime
1.查看docker名稱/id
docker ps
2.進入docker
docker exec -it [容器ID或者NAME] /bin/bash
3.查看時間
date
4.修改時間
docker cp /etc/localtime mymysql:/etc/localtime
注意:因為時區問題可能上面命令會報下面錯誤
Error response from daemon: Error processing tar file(exit status 1): invalid symlink "/etc/localtime" -> "../usr/share/zoneinfo/Asia/Shanghai"
解決方法:切換命令
docker cp /usr/share/zoneinfo/Asia/Shanghai[容器ID或者NAME]:/etc/localtime
5.重啟docker
docker restart[容器ID或者NAME]
方法二:
共享主機的localtime
創建容器的時候指定啟動參數,掛載localtime文件到容器內 ,保證兩者所采用的時區是一致的。
docker run --name -v /etc/localtime 容器id:/etc/localtime:ro ....