docker獲取數據庫時間相差8小時


有時我們在用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 ....

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM