在 Docker 中配置时区
最近玩 Docker 玩儿的非常的嗨皮,并且把公司的生产环境全部变成 Docker 部署的啦。因为 Base Image 使用的基本上都是 Docker 官方的,所以里面的时间设置大多是 Etc/UTC
,也就是标准的 UTC 时间,所以要简单的调整一下,变成中国标准时间。
如果已经创建了 container 的话,可以直接接入到 container 里面,用命令行实现时区的更改:
首先通过下面的命令进入对应的 container:
1 | # docker exec -ti container bash |
然后在 container 里面执行如下的命令:
1 | # echo "Asia/Shanghai" > /etc/timezone |
可以看到屏幕上有类似的输出:
1 | Current default time zone: 'Asia/Shanghai' |
我们可以看到,local time 已经变成了 CST
,也就是 CST – China Standard Time
,这样我们的时区修改就已经完成了,之所以要用 noninteractive
的方式,是为了方便我们整合到 Dockerfile
中使用,比如:
1 | RUN echo "Asia/Shanghai" > /etc/timezone |
这样的话,我们可以把时区设置做到自己的 Image 中,就不需要每个 container 运行一次时区设置了。