栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Docker 中修改时区的问题

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Docker 中修改时区的问题

问题描述

最近在 Docker 中修改时区遇到了一个问题,就是 python3 启动 apscheduler 时会通过接口去拿系统时区,而我之前 Docker 中的时区是这么改的:

RUN  cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' > /etc/timezone

然后报错这样:

tzlocal.utils.ZoneInfoNotFoundError: 'Multiple conflicting time zone
configurations found:n/etc/timezone:Asia/Shanghain/etc/localtime is
a symlink to: ICTnFix the configuration, or set the time zone in a TZ
environment variable.n'
解决方案

大概意思是目标的时区配置文件和 /etc/timezone 中的时区名冲突,代码试图去拿 /etc/localtime 软链接指向的文件,而因为我是通过拷贝将 Asia/Shanghai 拷贝到 /etc/localtime,而该文件软链接指向的文件是 UCT,所以导致的错误。正确操作是使用软链接将 /usr/share/zoneinfo/Asia/Shanghai 软链接到 /etc/localtime。

因此需要把拷贝操作改为:

RUN rm -f /etc/localtime
RUN  ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' > /etc/timezone

(本文完)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/993067.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号