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