系统之家提供 Windows 系统、Ghost 系统、驱动与常用软件的安全下载及安装教程。 后台管理
📢 欢迎访问系统之家!所有资源均经过安全检测。

Docker部署 Clash 代理完整指南

发布时间:2026-10-21 | 浏览:1
📥 下载地址(文章开头)
装机神器,可安装一切系统,纯净版,英文版,繁体版 ,精简版,原版等等等
一篇文章讲清 mihomo(原 Clash.Meta)的容器化部署全流程:Docker Compose 编排、Web 控制面板、多订阅管理与日常运维。 mihomo 是 Clash 内核的社区继任项目(原名 Clash.Meta)。2023 年 Clash 官方仓库停止公开维护后,mihomo 成为事实上的标准继任者,持续更新并支持更多现代协议: 协议覆盖 :Shadowsocks、VMess、Trojan、Hysteria2、TUIC、VLESS、WireGuard 等; 协议覆盖 :Shadowsocks、VMess、Trojan、Hysteria2、TUIC、VLESS、WireGuard 等; 规则分流 :基于域名、GeoIP、规则集(rule-set)的精细分流; 规则分流 :基于域名、GeoIP、规则集(rule-set)的精细分流; 订阅管理 :支持 proxy-providers 定时自动更新订阅,无需手工替换节点; 订阅管理 :支持 proxy-providers 定时自动更新订阅,无需手工替换节点; RESTful API :完整的外部控制接口,生态内有丰富的 Web 面板。 RESTful API :完整的外部控制接口,生态内有丰富的 Web 面板。 github地址: MetaCubeX/mihomo 官网地址: 虚空终端 Docs 1.2 为什么使用 Docker 部署 本文采用 内核 + 面板分离 的双容器架构: mihomo :代理核心,监听 7890(HTTP/SOCKS5 混合代理)与 9090(外部控制器 API); mihomo :代理核心,监听 7890(HTTP/SOCKS5 混合代理)与 9090(外部控制器 API); metacubexd :MetaCubeXD 面板,纯静态前端,由浏览器直连内核 API,与内核解耦,可独立升级,甚至可同时管理多个 mihomo 实例。 metacubexd :MetaCubeXD 面板,纯静态前端,由浏览器直连内核 API,与内核解耦,可独立升级,甚至可同时管理多个 mihomo 实例。 二、详细部署教程(Linux / Docker 环境) 已安装 Docker Compose 并启用; 已安装 Docker Compose 并启用; docker compose version 可正常输出版本号; docker compose version 可正常输出版本号; 2.3 编写 docker-compose.yml no / always / on-failure[:次数] / unless-stopped (生产推荐) Asia/Shanghai (东八区) 修改时需同步调整 config.yaml 的 mixed-port 仅本机使用改 127.0.0.1:9090:9090 ⚠️ 容器内路径必须是 /root/.config/mihomo ,与旧版 Clash 不同 2.4 编写 config.yaml 2.5 将编写好的 config.yaml 文件放到 ./data/ 路径下 2.6 安装 MetaCubeXD UI 面板 将解压后的文件夹名字改为 ui 放到 ./data/ 路径下 浏览器打开 http://宿主机IP:9090/ui (本机部署为 http://127.0.0.1:9090/ui ); 浏览器打开 http://宿主机IP:9090/ui (本机部署为 http://127.0.0.1:9090/ui ); 首次进入填写连接信息: 后端地址 : http://宿主机IP:9090 (注意:是内核 API 地址,不含 /ui ) 密钥(Secret) :config.yaml 中 YOUR_SECRET 的值 后端地址 : http://宿主机IP:9090 (注意:是内核 API 地址,不含 /ui ) 后端地址 : http://宿主机IP:9090 (注意:是内核 API 地址,不含 /ui ) 密钥(Secret) :config.yaml 中 YOUR_SECRET 的值 密钥(Secret) :config.yaml 中 YOUR_SECRET 的值 连接成功后面板会记住该后端,之后打开直接进入。 连接成功后面板会记住该后端,之后打开直接进入。 实时上下行速率、活动连接数、内存占用、运行模式 查看代理组与节点;点击节点即切换;闪电图标做延迟测速 查看每条连接的来源、目标、命中规则、走的节点;排查"某网站走了哪条线"最直接 实时内核日志,排障时可在设置中切到 debug 级别 切换运行模式(rule/global/direct)、主题、语言、内核版本 切换节点 :代理页 → 点击代理组 → 双击目标节点名; 切换节点 :代理页 → 点击代理组 → 双击目标节点名; 切换模式 :设置页 → Mode → rule (日常推荐)/ global (临时全走代理)/ direct (全直连,用于对照排查); 切换模式 :设置页 → Mode → rule (日常推荐)/ global (临时全走代理)/ direct (全直连,用于对照排查); 测速选节点 :代理页 → 代理组右上闪电图标 → 选延迟最低且非超时的节点; 测速选节点 :代理页 → 代理组右上闪电图标 → 选延迟最低且非超时的节点; 排查分流问题 :访问目标网站 → 连接页找到对应连接 → 查看"规则链"列确认命中的规则与节点。
📥 下载地址(文章中间)
装机神器,可安装一切系统,纯净版,英文版,繁体版 ,精简版,原版等等等
排查分流问题 :访问目标网站 → 连接页找到对应连接 → 查看"规则链"列确认命中的规则与节点。 3.4 命令行调用 API(可选) 面板本质是对 RESTful API 的可视化封装,也可直接调用: 3.5 为什么面板不需要挂载数据卷 这是一个常见疑问。答案是: 面板容器完全无状态 。 MetaCubeXD 镜像内部只是 Nginx + 静态文件(HTML/JS/CSS),不存储任何服务端数据; MetaCubeXD 镜像内部只是 Nginx + 静态文件(HTML/JS/CSS),不存储任何服务端数据; 代理数据由浏览器通过 API 直接读写 mihomo 内核,状态在内核侧(已挂载 ./data 卷); 代理数据由浏览器通过 API 直接读写 mihomo 内核,状态在内核侧(已挂载 ./data 卷); 面板自身设置(后端地址、secret、主题)保存在 浏览器 localStorage 中。 面板自身设置(后端地址、secret、主题)保存在 浏览器 localStorage 中。 因此容器删除重建不会丢失任何配置。副作用是:换浏览器或清除浏览器数据后需重新填写后端地址和 secret,属正常现象。 仅当需要深度定制(如自定义 Nginx 配置、HTTPS 证书)时才需要挂卷,常规场景不需要。 mihomo 的 proxy-providers 支持任意数量的订阅并存,是管理多机场订阅的标准做法。 第一步 :每个订阅在 proxy-providers 下声明一个独立键名: 第二步 :在代理组的 use 中逐个列出,节点自动合并: path 必须互不重复 ——这是订阅的本地缓存文件,同路径会互相覆盖; path 必须互不重复 ——这是订阅的本地缓存文件,同路径会互相覆盖; 扩展方式 :加一个订阅 = 复制一个 provider 块 + use 列表加一行; 扩展方式 :加一个订阅 = 复制一个 provider 块 + use 列表加一行; 生效方式 : docker restart mihomo ,或在面板设置页重载配置。 生效方式 : docker restart mihomo ,或在面板设置页重载配置。 `exclude-filter: "到期 部分机场校验 UA 才返回节点 配合 url-test 类型的 AUTO 组(见 2.4 节配置),可实现跨订阅的自动选优: tolerance: 50 表示延迟差 50ms 内不切换,避免节点频繁跳动。 必须设置强 secret : secret 为空时控制接口无鉴权,任何人都能读取节点信息并切换代理; 必须设置强 secret : secret 为空时控制接口无鉴权,任何人都能读取节点信息并切换代理; 限制端口暴露 :仅本机使用时,将映射改为 127.0.0.1:9090:9090 与 127.0.0.1:9090:80 ,彻底隔绝外部访问; 限制端口暴露 :仅本机使用时,将映射改为 127.0.0.1:9090:9090 与 127.0.0.1:9090:80 ,彻底隔绝外部访问; 勿将 9090 暴露公网 :如需远程管理,用 SSH 隧道或反向代理 + HTTPS + 访问控制; 勿将 9090 暴露公网 :如需远程管理,用 SSH 隧道或反向代理 + HTTPS + 访问控制; 配置文件保密 :config.yaml 含 secret 与订阅链接,不要提交到公开 Git 仓库; 配置文件保密 :config.yaml 含 secret 与订阅链接,不要提交到公开 Git 仓库; 生产环境锁定镜像版本 : metacubex/mihomo:v1.19.x 而非 latest ,升级前先看 release notes。 生产环境锁定镜像版本 : metacubex/mihomo:v1.19.x 而非 latest ,升级前先看 release notes。 确认 metacubexd ui正常运行;检查浏览器能否访问 9090 端口 后端地址是否为内核 API 地址( http://IP:9090 );secret 是否填写正确;9090 端口映射是否存在 docker logs mihomo 查看内核报错;确认 config.yaml 语法正确(YAML 对缩进敏感) 容器内需能访问订阅链接;部分机场需配置 header 自定义 UA 需 docker restart mihomo 或在面板重载;确认修改的是挂载卷内的 ./data/config.yaml 确认 TZ=Asia/Shanghai 已设置并重建容器 架构 :mihomo 内核 + MetaCubeXD 面板,支持多后端管理; 架构 :mihomo 内核 + MetaCubeXD 面板,支持多后端管理; 配置 :Compose v3.8 规范, unless-stopped 重启策略,Asia/Shanghai 时区,日志轮转; 配置 :Compose v3.8 规范, unless-stopped 重启策略,Asia/Shanghai 时区,日志轮转; 持久化 :仅需为内核挂载 ./data 卷,面板无状态无需挂卷; 持久化 :仅需为内核挂载 ./data 卷,面板无状态无需挂卷; 订阅 :proxy-providers 多订阅并存,独立更新、独立健康检查,配合 url-test 自动选优; 订阅 :proxy-providers 多订阅并存,独立更新、独立健康检查,配合 url-test 自动选优; 安全 :强 secret + 端口绑定 localhost,是本地/局域网场景的最低安全基线。 安全 :强 secret + 端口绑定 localhost,是本地/局域网场景的最低安全基线。 Docker部署 Clash 代理完整指南 本文链接: Docker部署 Clash 代理完整指南 本文包含 AI 辅助内容 ,使用 ChatGPT 参与 资料整理,排版辅助 ,已由作者审核。 本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
📥 下载地址(文章结尾)
装机神器,可安装一切系统,纯净版,英文版,繁体版 ,精简版,原版等等等