liuzhuohua
5150f4c2e6
feat(docker): 补 compose 编排与使用说明,修正镜像标签与 license
新增
· packaging/docker/docker-compose.yml 现成编排,含健康检查与命名卷
· packaging/docker/DOCKER-使用说明.md 完整使用文档(含常见问题)
· devtools/retag-docker-image.py 镜像重打标签工具
修正三个真实缺陷
1. 镜像标签
原本是 buildah 留下的 `localhost/drouter:1.0.0`。`localhost/` 是 Podman
的本地镜像约定,Docker 用户拿到会很困惑(像某个私服地址)。
改为 `drouter:1.0.0` + 别名 `liuzhuohua/drouter:1.0.0`。
2. license 标签写错
镜像 LABEL 里 `org.opencontainers.image.licenses` 是 **GPL-3.0**,
但项目实际是 **MIT**(Dockerfile 与镜像 config 都已改)。
3. 缺 HEALTHCHECK
没有它,compose 里 `depends_on: condition: service_healthy` 无从等起,
`docker ps` 也看不出容器是否真的活着。
补上探活 /api/health —— 注意面板走 HTTPS + 自签证书,curl 必须 -k,
否则永远 unhealthy。
compose 要点
· network_mode: host 是硬要求(bridge 下看不到真实网卡、管不了宿主 NAT)
· cap_add 只给 NET_ADMIN + NET_RAW,不用 privileged
· host 模式下 ports 会被忽略,端口由 /etc/drouter/web-port 决定,
故用 expose 表达意图而非 ports
· 四个命名卷必须挂:配置 / 数据 / 快照 / 日志
重打标签采用流式重写 tar(只替换 manifest.json、repositories 与 config
三个小文件,layer.tar 原样透传),已逐层校验 3 个 layer 的 sha256 与
原包完全一致。
2026-09-30 21:25:28 +08:00
..
2026-09-30 19:26:24 +08:00
2026-09-30 19:26:24 +08:00
2026-09-30 19:26:24 +08:00
2026-09-30 19:26:24 +08:00
2026-09-30 19:26:24 +08:00
2026-09-30 21:25:28 +08:00
2026-09-30 19:26:24 +08:00
2026-09-30 19:26:24 +08:00
2026-09-30 19:26:24 +08:00
2026-09-30 19:26:24 +08:00
2026-09-30 19:26:24 +08:00