解決docker中mysql時間與系統(tǒng)時間不一致問題
最近在Docker中裝mysql時,發(fā)現(xiàn)數(shù)據(jù)庫時間與系統(tǒng)時間相差8個小時。
linux服務(wù)器時間:
進入mysql,輸入date如下
發(fā)現(xiàn)兩者時區(qū)不同。因為mysql容器是在docker中安裝的,所以mysql的時間不對應(yīng)該是宿主docker導致的。
查詢資料發(fā)現(xiàn),docker的默認時區(qū)是0區(qū),其實這會對安裝的容器造成不少麻煩,比如執(zhí)行日志的記錄不準確等。
有如下兩種方式解決:
方法一:復制主機的localtime
docker cp /etc/localtime [容器ID或者NAME]:/etc/localtime
注意:因為時區(qū)問題可能上面命令會報下面錯誤
Error response from daemon: Error processing tar file(exit status 1):?
invalid symlink "/usr/share/zoneinfo/UCT" -> "../usr/share/zoneinfo/Asia/Shanghai"
查看這個文件
發(fā)現(xiàn)這個文件引用了一個地址
解決方案:切換命令
docker cp /usr/share/zoneinfo/Asia/Shanghai[容器ID或者NAME]:/etc/localtime
然后重啟容器
docker? restart [容器ID或者NAME]
方法二:共享主機的localtime
創(chuàng)建容器的時候指定啟動參數(shù),掛載localtime文件到容器內(nèi)
docker run --name -v /etc/localtime 容器id:/etc/localtime:ro ....
兩者時區(qū)不一致的問題就解決了。
到此這篇關(guān)于docker中mysql時間與系統(tǒng)時間不一致問題的文章就介紹到這了,更多相關(guān)docker時間不一致內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
docke自定義網(wǎng)絡(luò)之容器互聯(lián)
大家好,本篇文章主要講的是docke自定義網(wǎng)絡(luò)之容器互聯(lián),感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12云原生Docker創(chuàng)建并進入mysql容器的全過程
前面我們已經(jīng)安裝好了Docker,也簡單了解了Docker,下面這篇文章主要給大家介紹了關(guān)于云原生Docker創(chuàng)建并進入mysql容器的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2023-02-02Docker安裝MS?SQL?Server并使用Navicat遠程連接的操作方法
SQL?Server支持廣泛的應(yīng)用程序開發(fā)接口(API),包括T-SQL、ADO.NET、ODBC、OLE?DB等,并支持多種操作系統(tǒng),包括Windows、Linux和Docker等,這篇文章主要介紹了Docker安裝MS?SQL?Server并使用Navicat遠程連接,需要的朋友可以參考下2023-06-06