天天看點

解決Docker與主控端時差問題

問題

Docker中預設UTC時區,和中原標準時間差八個小時,需要手動設定解決多個容器和主控端協作上的時間同步問題

解決方案

  1. 可以在建構鏡像時建立;
  2. 這裡是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區,滿足需求。