解決docker容器與宿主機相差8小時的問題
使用docker-compose部署時,在輸出的日志以及相關事件校驗及輸出時,導致事件與現實相差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時間:
容器時間:
原因:宿主機設置了時區(qū),而Docker容器并沒有設置,導致兩者相差8小時
CST應該是指(China Shanghai Time,東八區(qū)時間)
UTC應該是指(Coordinated Universal Time,標準時間)
所以,這2個時間實際上應該相差8個小時
所以,必須統一兩者的時區(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
總結:導致時差查2小時是容器中的/etc/timezone的問題,對此進行設置相應的時區(qū)即可。
到此這篇關于docker容器與宿主機相差8小時的文章就介紹到這了,更多相關docker容器與宿主機內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
基于docker部署skywalking實現全鏈路監(jiān)控功能
這篇文章主要介紹了基于docker部署skywalking實現全鏈路監(jiān)控,skywalking提供了在很多不同的場景下用于觀察和監(jiān)控分布式系統的方式,文中給大家介紹如何快速部署skywalking全鏈路監(jiān)控,感興趣的朋友一起看看吧2022-03-03Docker利用busybox創(chuàng)建基礎鏡像(base image)
今天小編就為大家分享一篇關于Docker利用busybox創(chuàng)建基礎鏡像(base image),小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-12-12docker安裝部署jumpserver?2.25.5的方法
這篇文章主要介紹了docker安裝部署jumpserver?2.25.5的方法,本文通過圖文實例代碼相結合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-09-09詳解Windows下運用Docker部署Node.js開發(fā)環(huán)境
這篇文章主要介紹了詳解Windows下運用Docker部署Node.js開發(fā)環(huán)境,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-01-01詳解基于docker-swarm搭建持續(xù)集成集群服務
這篇文章主要介紹了詳解基于docker-swarm搭建持續(xù)集成集群服務,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-10-10