Files
chill_notes/实践积累/Docker一键部署Clash_Mihomo_metacubexd教程.md
2026-04-19 17:16:50 +08:00

3.8 KiB
Executable File
Raw Blame History

title, date, tags, source
title date tags source
Docker一键部署Clash Meta (mihomo) + metacubexd面板教程 2026-01-13
Linux系统Docker
Docker
Clash
mihomo
metacubexd
代理
网络
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: hostTUN/透明代理最稳)
  • 容器别名统一为 clash(核心)+ dashboard(面板),操作更友好
  • 提前处理 Country.mmdb 避免经典报错

1. 准备工作

安装 Docker & Docker Compose如果未安装一键执行

# 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

创建项目目录:

mkdir -p ~/mihomo && cd ~/mihomo

2. 提前下载 GeoIP 数据库(必须!避免 not a directory 错误)

mihomo 需要 Country.mmdb文件不是文件夹

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完整配置

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

# 基本端口与访问
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. 启动与常用命令

# 首次启动
docker compose up -d

# 查看核心日志
docker compose logs -f clash

# 重启核心
docker compose restart clash

# 更新镜像并重启
docker compose pull && docker compose up -d

# 停止+删除容器
docker compose down

6. 访问方式

7. 常见问题

问题 解决方案
not a directory Country.mmdb必须是文件步骤2已解决
面板连不上 确认external-controller是0.0.0.0:9090
TUN不工作 必须host模式 + /dev/net/tun挂载

8. 推荐资源