Docker 容器使用的過程中,可能會遇到的一個問題就是 Docker 容器時間和宿主機時間不同步。造成這個問題的主要原因是宿主機設置了時區,而Docker容器並且設置,導致兩者相差8小時。
這里給出兩種解決方法:
1. 創建容器的時候指定啟動參數,自動掛載 localtime 文件到容器內
docker run --name <name> -v /etc/localtime:/etc/localtime ....
2. 在 Dockerfile 中加入時區設置
# CentOS RUN echo "Asia/shanghai" > /etc/timezone; # Ubuntu RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
這里有 Linux 系統的時區列表 :https://en.wikipedia.org/wiki/List_of_tz_database_time_zones