溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何解決docker容器與宿主機相差8小時的問題

發(fā)布時間:2021-09-29 15:12:12 來源:億速云 閱讀:357 作者:iii 欄目:開發(fā)技術(shù)

本篇內(nèi)容主要講解“如何解決docker容器與宿主機相差8小時的問題”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“如何解決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時間:

如何解決docker容器與宿主機相差8小時的問題

 容器時間:

如何解決docker容器與宿主機相差8小時的問題

原因:宿主機設(shè)置了時區(qū),而Docker容器并沒有設(shè)置,導(dǎo)致兩者相差8小時

CST應(yīng)該是指(China Shanghai Time,東八區(qū)時間)
UTC應(yīng)該是指(Coordinated Universal Time,標準時間)
所以,這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ū)即可。

到此,相信大家對“如何解決docker容器與宿主機相差8小時的問題”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI