解決docker中mysql時間與系統(tǒng)時間不一致問題
最近在Docker中裝mysql時,發(fā)現(xiàn)數(shù)據(jù)庫時間與系統(tǒng)時間相差8個小時。
linux服務(wù)器時間:
進(jìn)入mysql,輸入date如下
發(fā)現(xiàn)兩者時區(qū)不同。因?yàn)閙ysql容器是在docker中安裝的,所以mysql的時間不對應(yīng)該是宿主docker導(dǎo)致的。
查詢資料發(fā)現(xiàn),docker的默認(rèn)時區(qū)是0區(qū),其實(shí)這會對安裝的容器造成不少麻煩,比如執(zhí)行日志的記錄不準(zhǔn)確等。
有如下兩種方式解決:
方法一:復(fù)制主機(jī)的localtime
docker cp /etc/localtime [容器ID或者NAME]:/etc/localtime
注意:因?yàn)闀r區(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]
方法二:共享主機(jī)的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)文章希望大家以后多多支持本站!
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。