拉不动Docker?刮削失败?AI调用失败?一招永久从根本解决问题

2026-04-15 09:22:32 13点赞 113收藏 0评论

本期主要想解决的,是国内 NAS 用户最常见的网络问题。

这里说的不是外网访问,也不是 DDNS、端口转发这些,而是部署在 NAS 上的一些服务本身上不了网:

Docker 镜像拉取困难,影音库刮削失败,或者像目前火热的OpenClaw工具在使用过程中遇到网络异常(连不上Gemini之类)。

优先解决NAS自己的网络问题,而不是把它做成全屋旁路由。当然,如果后续确实想继续扩展成旁路由方案也是可以的,后面我也会简略说明。


准备工作

首先是配置文件。

内容确实比较长,不适合直接全部塞进正文。大家如果需要完整通用模板,可以在笔者同名GZH后台发送mihomo获取。我都做了详细注释,尽量挨个看一看。另外如果有个性化配置需求,实在不会可让AI帮忙写,很简单的~

另外,这份配置里有几个地方一定要按自己环境修改

<你的API密码>
<你的订阅链接>
<你的路由器IP>
<你的局域网网段>
<你的DDNS主域名>
<你的远程管理端口>

并且关于配置文件的远程入口保护规则
如果你使用 lucky,就保护 lucky 进程和对应端口;如果你使用 nginx、Nginx Proxy Manager、Caddy、Traefik 等其他反代工具,就应该改成保护你自己的反代程序和实际监听端口。
尤其是反代运行在 Docker 容器中时,优先保护 SRC-PORT,通常比只写 PROCESS-NAME 更稳。

最后提醒一句,很多朋友改完内容以后,最容易漏掉的其实不是配置项,而是文件名。如果你部署时要求挂载的是 config.yaml,那保存时就一定要保持这个名字,不要写成别的,不然容器可能根本读不到配置。

拉不动Docker?刮削失败?AI调用失败?一招永久从根本解决问题

开始部署

威联通NAS为例,通过Docker Compose的方式进行部署。

部署代码如下:

services: # 管理面板,其实这个要不要都行 # 主要作用是select选择和切换tun metacubexd: container_name: metacubexd # 国内加速源,这个一般不用加速 # image: ghcr.1ms.run/metacubex/metacubexd image: ghcr.io/metacubex/metacubexd ports: - '8881:80' # 端口自定义 restart: always # 服务本身 mihomo: container_name: mihomo # 国内加速源,大部人可能需要加速 # image: docker.1ms.run/metacubex/mihomo:latest image: metacubex/mihomo:latest network_mode: host # 建议host pid: host ipc: host cap_add: - ALL devices: - /dev/net/tun:/dev/net/tun volumes: - /share/Container/mihomo/config:/root/.config/mihomo - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro restart: always

打开威联通的Container Station,创建新的应用程序。

拉不动Docker?刮削失败?AI调用失败?一招永久从根本解决问题

部署完毕后,先不要管Web管理面板,首先查看Docker日志。

如果你的网络情况实在是差劲,日志中会出现类似如下错误,无法自动下载 GeoIP/GeoSite 数据库。

拉不动Docker?刮削失败?AI调用失败?一招永久从根本解决问题

请把容器停掉,将我提供的另外几个文件也上传到config.yaml的同目录下,再重新启动容器即可。

拉不动Docker?刮削失败?AI调用失败?一招永久从根本解决问题

此时SSH连接NAS,进行测试,如下图,明显成功了。

拉不动Docker?刮削失败?AI调用失败?一招永久从根本解决问题


测试看看

上面操作一通后,如果你确认 NAS 远程或本地SSH管理正常,Docker 服务访问等都正常,就再次停止容器。

修改config.yaml中此位置的内容,如果你原本设置便如此,那就不要动了。

# 其实就是开关打开 tun: enable: true stack: mixed # 和安全版相比,这里改成 true # 这代表开始自动接管宿主机流量 auto-route: true auto-redirect: true strict-route: true auto-detect-interface: true

修改并保存,重启容器即可。

拉不动Docker?刮削失败?AI调用失败?一招永久从根本解决问题

这时候看日志,大家应该就明白了。也能随便拉取镜像。不过其他方面就不做演示了~

拉不动Docker?刮削失败?AI调用失败?一招永久从根本解决问题


Web管理面板

管理面板,http://后的地址更换为:NAS_IP:9090,密码就是上文config.yaml中设置的强密码。输入完毕后点击添加即可。

拉不动Docker?刮削失败?AI调用失败?一招永久从根本解决问题

进来后,就能看到一些情况概览,以及config.yaml的配置,比如分流策略组。

当然这个面板中也支持修改一些内容,如果是策略方面,我个人还是觉得修改config.yaml来的更快更清晰明了。

拉不动Docker?刮削失败?AI调用失败?一招永久从根本解决问题


旁路由模式

其实只需要修改二处,新增一处。大家利用快速检索找到这些量修改重启即可。

但是注意,你至少要满足下面任一种:

局域网设备把默认网关指向这台 NAS
或者主路由做策略路由,把部分设备/目的流量转到这台 NAS
或者至少把设备的代理/DNS指向 NAS

修改:

allow-lan: true # 原本为false auto-redirect: true # 原本为false

新增:

# dns 配置中新增 respect-rules: true

也是修改完毕后,重启容器即可生效。

至于说具体的什么服务,走哪条,我就不铺开讲了,还请自行参悟~


最后

如果只是想让NAS自己和容器正常,开始部分基本够用,细化需求就是改改规则。后续还想继续往旁路由、全屋分流这些方向扩展,这套配置和部署思路也算是打好了一个底子。

感谢观看,本文完。

展开 收起
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
113
扫一下,分享更方便,购买更轻松