解決docker容器與宿主機相差8小時的問題
使用docker-compose部署時,在輸出的日志以及相關(guān)事件校驗及輸出時,導致事件與現(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è)置,導致兩者相差8小時
CST應該是指(China Shanghai Time,東八區(qū)時間)
UTC應該是指(Coordinated Universal Time,標準時間)
所以,這2個時間實際上應該相差8個小時
所以,必須統(tǒng)一兩者的時區(qū)
解決方案:
1.docker-compose配置卷掛載
volumes:
- /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime
2.Dockerfile運行命令以及輸出對應時區(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é):導致時差查2小時是容器中的/etc/timezone的問題,對此進行設(shè)置相應的時區(qū)即可。
到此這篇關(guān)于docker容器與宿主機相差8小時的文章就介紹到這了,更多相關(guān)docker容器與宿主機內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
關(guān)于Docker?Desktop的WSL報錯問題解決辦法
這篇文章主要介紹了關(guān)于Docker?Desktop的WSL報錯問題解決辦法的相關(guān)資料,排查發(fā)現(xiàn)是因清理%temp%文件夾誤刪關(guān)鍵WSL文件,文中將解決辦法介紹的非常詳細,需要的朋友可以參考下2025-03-03
Docker快速搭建Kafka集群及測試的技術(shù)指南
Kafka是一款高吞吐量的分布式消息系統(tǒng),配合Zookeeper可實現(xiàn)集群化部署,本文將通過Docker容器技術(shù)快速搭建3節(jié)點Kafka集群并完成消息生產(chǎn)消費測試,感興趣的可以了解下2025-04-04
docker-compose配置并部署redis服務的實現(xiàn)
本文主要介紹了docker-compose配置并部署redis服務的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-04-04

