From cf32f8a1b736067f64aea7995bddab900674a599 Mon Sep 17 00:00:00 2001 From: FNS Service Date: Sun, 19 Apr 2026 17:16:50 +0800 Subject: [PATCH] Update from Sync Service --- .../Docker一键部署Clash_Mihomo_metacubexd教程.md | 160 ++++++++++++++++++ 1 file changed, 160 insertions(+) create mode 100755 实践积累/Docker一键部署Clash_Mihomo_metacubexd教程.md diff --git a/实践积累/Docker一键部署Clash_Mihomo_metacubexd教程.md b/实践积累/Docker一键部署Clash_Mihomo_metacubexd教程.md new file mode 100755 index 0000000..f150e4b --- /dev/null +++ b/实践积累/Docker一键部署Clash_Mihomo_metacubexd教程.md @@ -0,0 +1,160 @@ +--- +title: Docker一键部署Clash Meta (mihomo) + metacubexd面板教程 +date: 2026-01-13 +tags: + - Linux系统Docker + - Docker + - Clash + - mihomo + - metacubexd + - 代理 + - 网络 +source: https://www.cloud-guest.top/archives/gS23mQ65 +--- + +# Docker 一键部署 Clash Meta (mihomo) + metacubexd 面板教程(2026 年最新版) + +**目标:** 使用最新 MetaCubeX/mihomo 内核 + 官方 metacubexd Web 面板,实现稳定、高性能的代理服务 + +**适用环境:** Linux 服务器 / NAS(推荐 Ubuntu/Debian),已安装 Docker + Docker Compose + +**核心特点:** +- 使用 `network_mode: host`(TUN/透明代理最稳) +- 容器别名统一为 `clash`(核心)+ `dashboard`(面板),操作更友好 +- 提前处理 Country.mmdb 避免经典报错 + +## 1. 准备工作 + +安装 Docker & Docker Compose(如果未安装,一键执行): + +```bash +# Ubuntu/Debian 推荐方式(2026 年最新) +curl -fsSL https://get.docker.com | sudo sh +sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose +sudo chmod +x /usr/local/bin/docker-compose +sudo usermod -aG docker $USER +``` + +创建项目目录: + +```bash +mkdir -p ~/mihomo && cd ~/mihomo +``` + +## 2. 提前下载 GeoIP 数据库(必须!避免 not a directory 错误) + +mihomo 需要 Country.mmdb(文件,不是文件夹) + +```bash +mkdir -p config +cd config + +# 轻量版 country-lite.mmdb(体积小 ≈1-2MB) +curl -L https://github.com/MetaCubeX/meta-rules-dat/releases/latest/download/country-lite.mmdb \ + -o Country.mmdb +``` + +**关键:** 启动前这个路径必须存在文件,否则 Docker 会自动创建成目录导致启动失败。 + +## 3. docker-compose.yml(完整配置) + +```yaml +version: '3.8' + +services: + clash: + container_name: clash + image: metacubex/mihomo:Alpha + restart: unless-stopped + network_mode: host + pid: host + ipc: host + cap_add: + - ALL + volumes: + - ./config:/root/.config/mihomo + - /dev/net/tun:/dev/net/tun + - /etc/localtime:/etc/localtime:ro + + dashboard: + container_name: dashboard + image: ghcr.io/metacubex/metacubexd:latest + restart: unless-stopped + network_mode: host +``` + +## 4. 准备 mihomo 主配置文件 config.yaml + +```yaml +# 基本端口与访问 +mixed-port: 7890 +allow-lan: true +external-controller: 0.0.0.0:9090 +secret: "" + +mode: rule +log-level: info +geodata-mode: false +geo-auto-update: true +geo-update-interval: 24 + +proxy-providers: + my-sub: + type: http + url: "https://你的机场订阅链接" + path: ./subscriptions/my-sub.yaml + interval: 86400 + health-check: + enable: true + url: "https://www.gstatic.com/generate_204" + interval: 300 + +proxy-groups: + - name: "自动选择" + type: url-test + include-all: true + url: "http://www.gstatic.com/generate_204" + interval: 300 + +rules: + - MATCH,自动选择 +``` + +## 5. 启动与常用命令 + +```bash +# 首次启动 +docker compose up -d + +# 查看核心日志 +docker compose logs -f clash + +# 重启核心 +docker compose restart clash + +# 更新镜像并重启 +docker compose pull && docker compose up -d + +# 停止+删除容器 +docker compose down +``` + +## 6. 访问方式 + +- **Web 面板:** http://你的服务器IP(host模式默认80端口) +- **连接后端:** http://127.0.0.1:9090 +- **代理端口:** HTTP/SOCKS5混合端口 7890 + +## 7. 常见问题 + +| 问题 | 解决方案 | +|------|---------| +| not a directory | Country.mmdb必须是文件,步骤2已解决 | +| 面板连不上 | 确认external-controller是0.0.0.0:9090 | +| TUN不工作 | 必须host模式 + /dev/net/tun挂载 | + +## 8. 推荐资源 + +- mihomo仓库:https://github.com/MetaCubeX/mihomo +- metacubexd面板:https://github.com/MetaCubeX/metacubexd +- 官方文档:https://wiki.metacubex.one/