很多用戶在使用了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容器沒有設置時間導致的,因此用戶只需根據上面的介紹的方法進行設置即可。