MetaCubeX / mihomo

A simple Python Pydantic model for Honkai: Star Rail parsed data from the Mihomo API.
https://wiki.metacubex.one
MIT License
16.44k stars 2.64k forks source link

[Bug] Docker版中时区的问题 #1224

Open lnc1995 opened 6 months ago

lnc1995 commented 6 months ago

Verify steps

Mihomo version

alpha-8ff56b5

What OS are you seeing the problem on?

Linux

Mihomo config

TZ Asia/Shanghai

Mihomo log

No response

Description

Docker版本中,Linux没有打包时区文件,对容器设置TZ参数的话,对mihomo主程序有效,但是系统时间不变,这就导致主程序和系统时间差8小时。目前就发现一个代理文件会显示成8小时前更新,倒不是什么大问题。 主要有的Docker环境,没办法挂载操作系统的localtime文件,比如ROS,只能是手动添加localtime文件。

fakeboboliu commented 6 months ago

这是一个误解,现在有 tzdata 了。

系统时间不变是因为用了 alpine 但没有用 LSIO 那种一套 init 脚本来让他的行为符合你的预期。

lnc1995 commented 6 months ago

这是一个误解,现在有 tzdata 了。

系统时间不变是因为用了 alpine 但没有用 LSIO 那种一套 init 脚本来让他的行为符合你的预期。

你的意思是镜像中有tzdata的文件,但是没有加载这文件还是? 所以这个问题有什么用户这边可以用的持久化的解决办法吗? 我现在是手动放一个localtime文件在etc目录。

fakeboboliu commented 6 months ago

这是一个误解,现在有 tzdata 了。 系统时间不变是因为用了 alpine 但没有用 LSIO 那种一套 init 脚本来让他的行为符合你的预期。

你的意思是镜像中有tzdata的文件,但是没有加载这文件还是? 所以这个问题有什么用户这边可以用的持久化的解决办法吗? 我现在是手动放一个localtime文件在etc目录。

我现在不确定他那里搞出来了问题(懒得看)

但镜像是不可变的,最快的解决方案是你用下面的文件 docker build 一个镜像:

FROM metacubex/mihomo:latest
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime