Yuki icon indicating copy to clipboard operation
Yuki copied to clipboard

使用 LABEL 标注同步容器与 bindIP 配置的兼容性

Open taoky opened this issue 1 year ago • 2 comments

Yuki 的 bindIP 依赖于同步容器主动实现 bind() 支持,但是对于某些程序很困难(需要 LD_PRELOAD 一类的 trick)或者根本不可行,因此目前 Yuki 也提供 Docker Network 支持。对于没有实现处理 BIND_ADDRESS 环境变量的同步容器,如果能在加载配置的时候显示 warning 可以帮助管理员快速发现配置问题,而不是以为配置生效,但是实际上没有。

同步容器的 Dockerfile 可能可以增加和下面类似的东西:

# LABEL bind_support=true
LABEL bind_support=false

taoky avatar Jul 01 '24 18:07 taoky

昨天想了一下,直接在 reload 的时候检查会有一个问题:reload 的时候对应的 image 不一定会存在。可能可以有下面几个方案:

  • reload 时只检查已有的 image
  • reload 命令添加一个参数要求 pull 缺失的 image
  • 添加一个 check 命令
  • 只在 sync 的时候输出 warning

taoky avatar Jul 24 '24 06:07 taoky

我觉得可以给 reload 加一个参数,比如 --strict-validate,设置了这个参数就进行更严格的检查,否则保持目前的行为。

不过我觉得最好还是都尽量迁移到基于 docker network 这种可移植性较好的 bind ip 方案,从根源上解决这个问题 👀

knight42 avatar Jul 24 '24 11:07 knight42