問題
Docker中預設UTC時區,和中原標準時間差八個小時,需要手動設定解決多個容器和主控端協作上的時間同步問題
解決方案
- 可以在建構鏡像時建立;
- 這裡是docker容器運作時的配置方法,避免了重新建構鏡像的繁瑣。
docker run -e TZ=Asia/Shanghai \
sh -c 'ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo "Asia/Shanghai" > /etc/timezone '
參數說明:
-e 設定環境變量
sh -c 容器内執行多行指令
ps:進入容器執行date指令,時區仍然是UTC;實際使用中,應用程式擷取到的時間顯示為+8區,滿足需求。