某次想用国内服务器下载一下 github 上的工具,发现下不了…,在网上搜查了很多办法都感觉太繁琐了.
最后我想到了 docker,最后一查,欸,这样部署才简洁优雅!

参考文章: https://keleven.me/2020/06/10/118447343b0f/

前提

需要先在云端安装好 docker 以及 docker-compose.

以及一个 clash 的配置文件,官方配置文档.

新建部署文件夹

项目目录如下

项目文件夹

docker 的配置

clash 项目地址
docker-compose.yml的内容如下,可根据需求修改

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
version: '3'
services:
clash:
image: dreamacro/clash
volumes:
- ./config.yaml:/root/.config/clash/config.yaml
# dashboard volume
- ./ui:/ui
ports:
- "7890:7890"
- "7891:7891"
- "9090:9090"
# If you need external controller, you can export this port.
# - "8080:8080"
restart: always
# When your system is Linux, you can use `network_mode: "host"` directly.
# network_mode: "host"

clash 的配置

config.yaml部分内容如下

1
2
3
4
5
6
7
8
9
10
11
port: 7890
socks-port: 7891
#允许局域网连接
allow-lan: true
mode: Rule
log-level: info
#访问密码,可以移除
secret: 'secret'
external-controller: '0.0.0.0:9090'
# ui连接
external-ui: /ui

管理面板资源

clash 面板项目地址

进入 Releases 选择对应的资源包下载并解压到 ui 目录下

部署

进入该目录,使用一下命令部署

1
docker-compose up -d

部署完成后,还需要手动设置代理,可以使用以下命令

1
2
3
4
echo "export https_proxy=http://127.0.0.1:7890" >> ~/.bash_profile
echo "export http_proxy=http://127.0.0.1:7890" >> ~/.bash_profile
echo "export all_proxy=socks5://127.0.0.1:7891" >> ~/.bash_profile
source ~/.bash_profile

然后可以通过 http://hostname:9090/ui 访问管理面板 (注意路径要加上 /ui)