本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容:
- 我的帖子已经打上 开源推广 标签: 是
- 我的开源项目完整开源,无未开源部分: 是
- 我的开源项目已链接认可 LINUX DO 社区: 是
- 我帖子内的项目介绍,AI生成、润色内容部分已截图发出: 是
- 以上选择我承诺是永久有效的,接受社区和佬友监督: 是
以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出
项目地址
Clash for Docker介绍
^-^ 基于最新 Mihomo 内核,内置 Dashboard 的 Clash Docker 镜像
核心特性
- ^-^ Mihomo (Clash Meta)最新内核
- ^-^ MetacubexD Web Dashboard 内置
- ^-^ 预打包 GeoIP 数据库,无需运行时下载
- ^-^ 支持 amd64 / arm64 架构
- ^-^ 订阅功能:支持远程订阅链接自动下载配置
- ^-^ 自动更新:支持定时自动更新订阅并重启生效
- ^-^ 容错处理:订阅下载失败时自动回退到本地配置
支持的协议
协议 |
说明 |
|---|
Shadowsocks (SS) |
经典轻量级加密代理 |
VMess |
V2Ray 原生协议 |
VLESS |
V2Ray 轻量协议,性能更优 |
Trojan |
基于 TLS 的隐蔽协议 |
Hysteria |
基于 QUIC 的高速协议 |
Hysteria2 |
Hysteria 第二代,更快更稳 |
TUIC |
基于 QUIC 的多路复用协议 |
WireGuard |
现代化 VPN 协议 |
HTTP |
HTTP/HTTPS 代理 |
SOCKS5 |
通用 SOCKS5 代理 |
快速开始
Clash for Docker 支持两种使用模式:订阅模式(推荐)和本地配置模式。
模式一:订阅模式(推荐)
自动从订阅链接下载配置,支持定时更新,无需手动维护配置文件。
Docker Run
docker run -d \
--name glash \
--restart unless-stopped \
-p 7890:7890 \
-p 7891:7891 \
-p 9090:9090 \
-v /path/to/config:/root/.config/mihomo \
-e SUB_URL=https://your-subscription-url.com/config \
-e SUB_CRON="0 */6 * * *" \
-e SECRET=your-dashboard-password \
-e ALLOW_LAN=true \
gangz1o/glash:latest
Docker Compose
services:
glash:
image: gangz1o/glash:latest
container_name: glash
restart: always
ports:
- '7890:7890' # HTTP 代理
- '7891:7891' # SOCKS5 代理
- '9090:9090' # Dashboard
volumes:
- ./config:/root/.config/mihomo
environment:
- TZ=Asia/Shanghai
- SUB_URL=https://your-subscription-url.com/config
- SUB_CRON=0 */6 * * *
- SECRET=your-dashboard-password
- ALLOW_LAN=true
模式二:本地配置模式
使用本地 config.yaml 配置文件,适合手动管理配置的用户。
Docker Run
docker run -d \
--name glash \
--restart always \
-p 7890:7890 \
-p 7891:7891 \
-p 9090:9090 \
-v /path/to/config.yaml:/root/.config/mihomo/config.yaml:ro \
gangz1o/glash:latest
Docker Compose
services:
glash:
image: gangz1o/glash:latest
container_name: glash
restart: always
ports:
- '7890:7890' # HTTP 代理
- '7891:7891' # SOCKS5 代理
- '9090:9090' # Dashboard
volumes:
- ./config.yaml:/root/.config/mihomo/config.yaml:ro
environment:
- TZ=Asia/Shanghai
- ALLOW_LAN=true
模式三:TUN 模式
TUN 模式可接管系统全局流量,无需手动配置代理。设置 TUN_ENABLED=true 后,每次重启均自动恢复 TUN 状态,无需手动在 Dashboard 中开启。
^-^ 注意:TUN 模式需要容器具有 NET_ADMIN 能力和 /dev/net/tun 设备,请勿在不受信任的环境中使用。
Docker Run
docker run -d \
--name glash \
--restart unless-stopped \
--cap-add NET_ADMIN \
--device /dev/net/tun:/dev/net/tun \
-p 7890:7890 \
-p 7891:7891 \
-p 9090:9090 \
-v /path/to/config:/root/.config/mihomo \
-e SUB_URL=https://your-subscription-url.com/config \
-e TUN_ENABLED=true \
gangz1o/glash:latest
Docker Compose
services:
glash:
image: gangz1o/glash:latest
container_name: glash
restart: unless-stopped
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun:/dev/net/tun
ports:
- '7890:7890'
- '7891:7891'
- '9090:9090'
volumes:
- ./config:/root/.config/mihomo
environment:
- TZ=Asia/Shanghai
- SUB_URL=https://your-subscription-url.com/config
- TUN_ENABLED=true
指定架构下载
默认自动匹配当前平台,如需指定架构:
# x86_64 / amd64
docker pull --platform linux/amd64 gangz1o/glash:latest
# ARM64 (Apple Silicon / ARM 服务器)
docker pull --platform linux/arm64 gangz1o/glash:latest

工作逻辑
启动时(本地有配置):
- 先用本地配置启动 mihomo
- 等待代理服务就绪后,通过本地代理 (127.0.0.1:7890) 更新订阅
- 更新成功后自动重启生效
启动时(本地无配置):
- 先尝试直连下载订阅
- 直连失败时,如果设置了
DOWNLOAD_PROXY,使用外部代理下载
- 下载成功后启动 mihomo
定时更新:
- 如果设置了
SUB_CRON,按照 cron 表达式定时更新
- 通过本地代理下载订阅
- 更新成功后自动重启 mihomo 生效
- 更新失败时保持当前配置运行
SECRET 注入:
- 如果设置了
SECRET,会自动写入配置文件的 secret 字段
- 方便统一管理 Dashboard 密码
ALLOW_LAN 注入:
- 如果设置了
ALLOW_LAN,会自动写入配置文件的 allow-lan 字段
- 设置为
true 允许局域网连接,false 禁止
TUN_ENABLED 注入:
- 如果设置了
TUN_ENABLED=true,每次启动和订阅更新后自动向配置写入 TUN 模式配置段
- 解决了通过 Dashboard UI 开启 TUN 后重启丢失状态的问题
- 需要同时在 docker-compose.yml 中开启
NET_ADMIN 权限和 /dev/net/tun 设备
提示:如果订阅地址需要代理访问且本地没有配置文件,请设置 DOWNLOAD_PROXY 指向一个可用的代理。
常用 Cron 表达式
表达式 |
说明 |
|---|
0 */6 * * * |
每 6 小时更新 |
0 0 * * * |
每天凌晨更新 |
0 */12 * * * |
每 12 小时更新 |
*/30 * * * * |
每 30 分钟更新 |
0 8 * * * |
每天早上 8 点更新 |
查看订阅更新日志
docker exec glash cat /var/log/subscription.log
^-^ 配置要求
你的 config.yaml 必须包含以下配置才能正常使用 Dashboard:
# 允许外部访问 API
external-controller: 0.0.0.0:9090
或者是
external-controller::9090
# 密钥(用于登录dashboard ,可不填,建议填上,提高安全性)
secret: ''
端口说明
端口 |
用途 |
|---|
7890 |
HTTP 代理 |
7891 |
SOCKS5 代理 |
7892 |
混合代理 (HTTP + SOCKS5) |
9090 |
RESTful API & Dashboard |
Dashboard 访问
启动后访问:http://127.0.0.1:9090/ui/

首次访问需要配置:
- 后端地址:
http://127.0.0.1:9090
- 密钥:与 config.yaml 中的
secret 一致
配置示例
port: 7890
socks-port: 7891
allow-lan: true
mode: rule
log-level: info
# Dashboard 必需配置
external-controller: 0.0.0.0:9090
proxies:
- name: '节点名称'
type: vmess
server: example.com
port: 443
uuid: your-uuid
# ... 其他配置
proxy-groups:
- name: '🚀 节点选择'
type: select
proxies:
- 节点名称
rules:
- GEOIP,CN,DIRECT
- MATCH,🚀 节点选择
界面一览





贡献与支持
如果你有好的需求或者发现了一些Bug, 欢迎PR,一起共建开源生态
一些可用docker加速源
https://docker.1ms.run
https://docker.kejilion.pro
https://docker-registry.nmqu.com
https://docker.xuanyuan.me
https://dockerproxy.net
https://hub.rat.dev
https://hub1.nat.tf
https://hub2.nat.tf
https://hub3.nat.tf
https://hub4.nat.tf
https://mirror.iscas.ac.cn
https://docker.hpcloud.cloud
https://docker.apiba.cn
版本信息
- Mihomo: v1.19.22
- MetacubexD: v1.244.2
- 架构: linux/amd64, linux/arm64