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

161 lines
3.8 KiB
Markdown
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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://你的服务器IPhost模式默认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/