如何设置容器中的时区
之前以为设置容器时区很简单,跟设置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