Yuki
Yuki copied to clipboard
使用 LABEL 标注同步容器与 bindIP 配置的兼容性
Yuki 的 bindIP 依赖于同步容器主动实现 bind() 支持,但是对于某些程序很困难(需要 LD_PRELOAD 一类的 trick)或者根本不可行,因此目前 Yuki 也提供 Docker Network 支持。对于没有实现处理 BIND_ADDRESS 环境变量的同步容器,如果能在加载配置的时候显示 warning 可以帮助管理员快速发现配置问题,而不是以为配置生效,但是实际上没有。
同步容器的 Dockerfile 可能可以增加和下面类似的东西:
# LABEL bind_support=true
LABEL bind_support=false
昨天想了一下,直接在 reload 的时候检查会有一个问题:reload 的时候对应的 image 不一定会存在。可能可以有下面几个方案:
- reload 时只检查已有的 image
- reload 命令添加一个参数要求 pull 缺失的 image
- 添加一个 check 命令
- 只在 sync 的时候输出 warning
我觉得可以给 reload 加一个参数,比如 --strict-validate,设置了这个参数就进行更严格的检查,否则保持目前的行为。
不过我觉得最好还是都尽量迁移到基于 docker network 这种可移植性较好的 bind ip 方案,从根源上解决这个问题 👀