Docker - 容器中的时区与主机上的时区不同

Docker - 容器中的时区与主机上的时区不同

在我运行的所有 docker 容器中,容器的系统时间都设置为 UTC,而在我的主机(debian)上则是 CEST。

为什么它们不能自动同步?我如何让它们在启动时设置正确的时间?

root@v2201510680628925:/home/jacob# docker version
Client:
 Version:      1.11.2
 API version:  1.23
 Go version:   go1.5.4
 Git commit:   b9f10c9
 Built:        Wed Jun  1 21:36:47 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.11.2
 API version:  1.23
 Go version:   go1.5.4
 Git commit:   b9f10c9
 Built:        Wed Jun  1 21:36:47 2016
 OS/Arch:      linux/amd64
root@v2201510680628925:/home/jacob# date
Wed Aug  2 09:59:20 CEST 2017
root@v2201510680628925:/home/jacob# docker exec -it naos_nginx bash
root@0cefa7f7096c:/# date
Wed Aug  2 07:59:34 UTC 2017
root@0cefa7f7096c:/# exit
exit
root@v2201510680628925:/home/jacob# docker exec -it ah_avail bash
root@da52e8f3f61f:/usr/src/app# date
Wed Aug  2 07:59:59 UTC 2017
root@da52e8f3f61f:/usr/src/app# exit
exit
root@v2201510680628925:/home/jacob#

答案1

您应该能够使用 tzdata 在容器中设置时区:

docker run -e TZ=Europe/Amsterdam debian:jessie date

“为什么容器不与主机同步时间”的致谢和进一步解释:Docker 容器时间和时区(不会反映变化)

相关内容