解決docker容器與宿主機相差8小時的問題
使用docker-compose部署時,在輸出的日志以及相關(guān)事件校驗及輸出時,導(dǎo)致事件與現(xiàn)實相差8小時。
排查問題:
1.查看宿主機時間:
# 查看時間 date Wed Sep 29 11:12:44 CST 2021 # 查看時區(qū) date -R Wed, 29 Sep 2021 11:13:34 +0800
2.進入容器查看時間
# 查看所有容器 docker ps -a # 進入容器 docker eec -it [容器ID] /bin/bash # 查看時間 date
此時看到的宿主機時間與docker容器的時間一樣,此時各種百度,終于知道是timezone的問題
linux時間:

容器時間:

原因:宿主機設(shè)置了時區(qū),而Docker容器并沒有設(shè)置,導(dǎo)致兩者相差8小時
CST應(yīng)該是指(China Shanghai Time,東八區(qū)時間)
UTC應(yīng)該是指(Coordinated Universal Time,標(biāo)準(zhǔn)時間)
所以,這2個時間實際上應(yīng)該相差8個小時
所以,必須統(tǒng)一兩者的時區(qū)
解決方案:
1.docker-compose配置卷掛載
volumes:
- /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime
2.Dockerfile運行命令以及輸出對應(yīng)時區(qū)到timezone中
RUN echo "Asia/shanghai" > /etc/timezone RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
3.刪除容器,并重新運行
#刪除 docker rm [容器ID] # 啟動 docker-compose -f [文件名] up -d
總結(jié):導(dǎo)致時差查2小時是容器中的/etc/timezone的問題,對此進行設(shè)置相應(yīng)的時區(qū)即可。
到此這篇關(guān)于docker容器與宿主機相差8小時的文章就介紹到這了,更多相關(guān)docker容器與宿主機內(nèi)容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。
關(guān)注官方微信