暗无天日

=============>DarkSun的个人博客

如何设置容器中的时区

之前以为设置容器时区很简单,跟设置Linux时区一样的操作就行.

但是实际没有那么简单,因为有些基础镜像,比如Ubuntu是没有安装tzdata的, 而当在Dockerfile用apt来安装tzdata时会发现这玩意安装好后居然要手工选择一次地域. 这就很尴尬了。

万幸的是,主机一般都是安装了tzdata的,因此实际上我们可以将主机上的 zoneinfo 文件直接挂载到容器中的 /etc/localtime 就行了

我们可以比较一下

docker run --rm ubuntu date
docker run --rm -v /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime:ro ubuntu date

结果为:

Sat Sep 22 22:54:45 UTC 2018
Sun Sep 23 06:54:46 CST 2018