Docker容器與宿主機時間不同步的處理方法
發表時間:2023-08-10 來源:明輝站整理相關軟件相關文章人氣:
[摘要]很多用戶在使用了Docker以后都反映遇到Docker容器的時間和宿主機時間不同步的問題。其實這主要是因為宿主機設置了時區,但是Docker容器并沒有設置,這才導致它們時間不同步。下面小編就給大家分...
很多用戶在使用了Docker以后都反映遇到Docker容器的時間和宿主機時間不同步的問題。其實這主要是因為宿主機設置了時區,但是Docker容器并沒有設置,這才導致它們時間不同步。下面小編就給大家分享下Docker容器和宿主機時間不同步的解決辦法。

接下來,我們通過在在宿主機和容器里分別執行date命令來看下實際的情況。
在宿主機執行date命令的結果:

進入到容器里,再執行date命令的結果:
docker exec -it 《containerid》 /bin/sh
date
執行后的結果為:

從截圖來看,我們發現相差了8個小時。那么如何解決這個問題呢?目前有兩種思路供參考。
創建容器的時候指定啟動參數,自動掛載localtime文件到容器內
docker run --name 《name》 -v /etc/localtime:/etc/localtime:ro ...
把時區設置加入到Dockerfile中
# Ubuntu
RUN echo “Asia/shanghai” 》 /etc/timezone;
# CentOS
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
以上就是Docker容器和宿主機時間不同步的解決辦法,這個問題主要是由于Docker容器沒有設置時間導致的,因此用戶只需根據上面的介紹的方法進行設置即可。
Linux是一套免費使用和自由傳播的類Unix操作系統