天天看點

Docker 容器時區錯誤問題

容器預設會使用 UTC 時區( Universal Time Coordinated 通用協調時,即格林尼治時間),如:

$ docker exec 2ec7378b902a date
Thu Sep 12 06:13:43 UTC 2019
$ date
2019年 09月 12日 星期四 14:13:46 CST           

容器中是 UTC 時區,主控端使用的是 CST 時區(China Standard Time 中國标準時間,即東八區時間,領先 UTC 8個小時)

解決:

在容器配置檔案中 volumes: 下面增加 -/etc/localtime:/etc/localtime,重新開機容器即可

volumes:
    - /etc/localtime:/etc/localtime           

重新開機後都為 CST 時區時間:

$ docker exec ff3c224ccc43 date
Thu Sep 12 14:19:40 CST 2019
$ date
2019年 09月 12日 星期四 14:19:43 CST