161 lines
3.8 KiB
Markdown
Executable File
161 lines
3.8 KiB
Markdown
Executable File
---
|
||
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/
|