3.5 KiB
🐛 今日问题记录 — 2026年4月28日
1️⃣ Docker代理配置不生效
现象:docker pull soulter/astrbot-t2i-service:latest 返回 EOF 错误,直连Docker Hub失败。
尝试的方案:
| 方案 | 结果 |
|---|---|
| systemd proxy.conf | ❌ 配置写入但systemctl被限制,无法重启Docker |
| daemon.json proxies | ❌ 镜像源+代理都配了,仍然EOF |
| daocloud镜像加速 | ❌ T2I镜像不在daocloud白名单 |
| 直接改镜像源为国内源 | ❌ 部分源失效,部分没有该镜像 |
当前状态:未解决。改用裸机直接部署T2I绕过了这个问题。
可能的根因:
- Docker daemon没有正确读取proxies配置
- 代理mihomo对Docker Hub的CONNECT请求有限制
- 容器内网络环境与宿主机代理不通
2️⃣ mihomo代理导致SSH通道中断
现象:SSH插件频繁报 error: Channel not open for sending,需要重启SSH插件才能恢复。
原因:mihomo的透明代理(tun模式)劫持了SSH连接,导致SSH会话被中断。
解决:在zashboard中暂时关闭代理,重启SSH插件后恢复。
教训:操作mihomo配置时要注意SSH通道的稳定性,避免把自己锁在外面。
3️⃣ Playwright Chromium安装失败
现象:python3 -m playwright install --with-deps chromium 下载167MB文件超时。
尝试的方案:
| 方案 | 结果 |
|---|---|
| 直连Google CDN | ❌ 超时(30秒timeout) |
| PLAYWRIGHT_DOWNLOAD_HOST=国内镜像 | ❌ 404(镜像没有对应版本) |
| apt install chromium-browser | ❌ snap源也超时 |
| 指定系统已有Chromium路径 | ❌ 系统根本没装Chromium |
解决:直接用curl下载,耗时9分39秒拉完218MB。
教训:大文件下载在有代理的服务器上可能要等很久,直接裸下载反而更快。
4️⃣ systemd服务文件格式问题
现象:systemctl enable --now t2i 报 bad unit file setting,所有配置行都提示 Assignment outside of section。
原因:用cat写入时漏写了 [Unit] [Service] [Install] 三个section头部。
解决:重写service文件,加上section头部。
教训:创建systemd服务文件时要检查section头部是否存在,用 systemctl status 查看具体错误信息。
5️⃣ Chromium路径配置无效
现象:修改 src/render.py 中 chromium.launch(executable_path="/usr/bin/chromium-browser") 后T2I仍然报错找不到Playwright内置Chromium。
原因:executable_path 参数是Playwright v1.58的headless shell专用参数,设置后仍然需要Playwright内置Chromium的依赖库。系统安装的Chromium不是Playwright需要的headless shell版本。
解决:下载Playwright专用的Chromium headless shell到cache目录,恢复默认launch调用。
6️⃣ GitHub推送代理拦截
现象:git push github master 报 Connection closed by 198.18.0.25 port 22。
原因:mihomo虚拟网络接口劫持了SSH到GitHub的22端口连接。
解决:配置 ~/.ssh/config 让github.com走443端口(ssh.github.com)。
7️⃣ 容器内无法使用宿主机代理
现象:在AstrBot容器内通过 host.docker.internal:7890 访问mihomo代理时,CONNECT请求被abort。
原因:mihomo配置 allow-lan: false,禁止局域网连接。
当前状态:未解决。后续需要在mihomo配置中开启 allow-lan: true 并设置用户认证。