用 Docker 部署 Mihomo 内核(服务器 / NAS)
服务器、NAS、家庭小主机上想长期跑一个 Clash 服务,Docker 是最干净的方式:环境隔离、升级方便、配置和数据都在挂载目录里一目了然。这篇给一份能跑的 docker-compose,并把目录挂载、端口映射、面板访问这几个关键点讲透。
为什么用 Docker
裸装内核要自己管二进制、开机自启、日志、升级,杂。Docker 把这些收进一个容器:删了重建不留垃圾,升级就是换个镜像 tag,配置全在你挂载的目录里。对"装好就长期不想动"的服务器场景特别合适。
准备配置目录
先在宿主机建一个目录放配置,容器把内核工作目录挂到这里。这样改配置 = 改宿主机文件,不用进容器:
mkdir -p /opt/mihomo
# 把你的配置放进去并命名为 config.yaml
# - 含 proxies / proxy-groups / rules
# - external-controller: 0.0.0.0:9090
# - secret: "一个复杂口令"
ls /opt/mihomo # 应能看到 config.yaml
配置怎么写见 配置文件结构;用代理集挂订阅,节点会自动更新,服务器场景尤其省心。
docker-compose 示例
部署示意图配置挂宿主机目录、端口映射出来,外部即可用代理与面板。
services:
mihomo:
image: metacubex/mihomo:latest
container_name: mihomo
restart: always
network_mode: bridge # 简单场景用 bridge;需透明代理可用 host
volumes:
- /opt/mihomo:/root/.config/mihomo
ports:
- "7890:7890" # 混合代理端口
- "9090:9090" # 控制面板端口
cap_add:
- NET_ADMIN # 若要在容器内开 TUN 才需要
docker compose up -d 起来后,局域网设备把代理指到 宿主机IP:7890 即可用。端口含义见 端口说明。
连面板管理
容器没有图形界面,靠 Web 面板管理:打开 metacubexd/yacd,后端填 http://宿主机IP:9090,secret 填你设的口令,就能切节点、看连接、读日志。改完 config.yaml 在面板里点重载即可生效。
注意事项
⚠️ 免责声明:本文为开源软件使用教程,本站不提供任何节点、VPN 或机场服务。请遵守所在地区法律法规,合理合法使用网络工具。