咨询anapsix/alpine-java:8_server-jre容器默认时区是否为UTC
是的,你的容器默认时区确实是UTC
没错,从你看到的/etc/localtime内容来看,这个容器的默认时区就是UTC。这里需要解释一下Alpine Linux(该Java镜像的基础系统)的时区配置逻辑和Debian/Ubuntu这类发行版的区别:
- Debian/Ubuntu通常依赖
/etc/timezone文件存储时区标识,同时配合/etc/localtime链接到对应的时区数据文件; - 而Alpine Linux默认走轻量精简路线,默认没有安装
tzdata包(包含完整时区数据库的包),所以它的/etc/localtime直接是一个包含UTC时区数据的文件。你看到的TZif2UTCTZif2�UTC UTC0是TZif格式的时区数据,其中明确包含的UTC字样就是时区的核心标识。
你可以在容器内运行以下命令快速验证:
date
输出的时间应该会带有UTC后缀,比如:Wed Oct 11 12:34:56 UTC 2023。
如果后续需要修改时区(比如切换为上海时区),可以在docker-compose的配置中添加执行命令,或者构建自定义镜像时运行:
apk add --no-cache tzdata && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
这样就能替换掉默认的UTC时区了。
内容的提问来源于stack exchange,提问作者Anton Kolosok
相关产品推荐
相关产品推荐

