以下就是Docker容器和宿主機時間不同步的解決辦法,這個問題主要是由于Docker容器沒有設(shè)置時間導(dǎo)致的,因此用戶只需根據(jù)下面的介紹的方法進行設(shè)置即可。
接下來,我們通過在在宿主機和容器里分別執(zhí)行date命令來看下實際的情況。
在宿主機執(zhí)行date命令的結(jié)果:
進入到容器里,再執(zhí)行date命令的結(jié)果:
docker exec -it 《containerid》 /bin/sh
date
執(zhí)行后的結(jié)果為:
從截圖來看,我們發(fā)現(xiàn)相差了8個小時。那么如何解決這個問題呢?目前有兩種思路供參考。
創(chuàng)建容器的時候指定啟動參數(shù),自動掛載localtime文件到容器內(nèi)
docker run --name 《name》 -v /etc/localtime:/etc/localtime:ro ...
把時區(qū)設(shè)置加入到Dockerfile中
# Ubuntu
RUN echo “Asia/shanghai” 》 /etc/timezone;
# CentOS
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime