docker调整时区
docker调整时区
简介
通过运行的服务,发现定时任务执行的时间与预期时间相差8小时,猜测是时区原因。
对服务的定时任务进行了重新配置,更改了时区也不生效,猜测是docker容器的时区异常。
错误配置一
在网上找了一个配置docker时区的方法,在运行的时候挂在本地时区配置文件。
1 | -v /etc/timezone:/etc/timezone:ro -v /etc/localtime:/etc/localtime:ro |
结果发现启动后有报错。
1 | tzlocal.utils.ZoneInfoNotFoundError: 'Multiple conflicting time zone configurations found:\n/etc/timezone: Asia/Shanghai\n/etc/localtime is a symlink to: UCT\nFix the configuration, or set the time zone in a TZ environment variable.\n' |
正确配置
通过传递环境变量的方式进行了配置。
1 | -e TZ=Asia/Shanghai |
实测可用。
后续
错误配置一应该是因为平台系统与docker内部系统不是同一个linux发行版。
我是通过Centos平台运行的容器。容器经过多次封装找不到基础镜像是哪个发行版了,只能看见是Debian系。
后续使用时,可以直接在dockerfile里加入环境变量,就不需要在生成容器是添加参数了。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 符十三郎!