使用 docker 方式部署 clash
在日常工作中,我们经常需要访问一些国外网站或者服务。Windows 和 MacOS 都有图形化的 Clash 客户端,但在 Linux 系统下,特别是 Ubuntu,找到一个稳定可靠的 Clash 客户端并不容易。为了解决这个问题,我们可以利用 Docker 来部署 Clash 服务,这不仅简化了部署过程,还提供了更好的可维护性和跨平台兼容性。
实现
1 | services: |
需要从机场下载配置文件 config.yaml,并放在当前目录下。
1 | port: 7890 |
关键配置说明
配置文件中有两个特别重要的设置:
allow-lan: true- 开启局域网访问,允许同一网络中的其他设备连接到此代理external-controller: 0.0.0.0:9000- 启用外部控制接口,便于使用 Dashboard 进行可视化管理
启动与验证
1. 启动服务
使用 Docker Compose 一键启动 Clash 服务:
1 | docker compose up -d |
2. 验证服务状态
访问 http://localhost:9000 检查 Clash API 是否正常响应。成功时应返回:
1 | { |
这表明 Clash 服务已正常运行并准备好接受连接。
代理设置
设置系统代理
将系统 HTTP/HTTPS 代理配置为 127.0.0.1:7890。根据不同操作系统,设置方式略有不同:
Linux: 在系统设置或环境变量中配置
1
2export http_proxy=http://127.0.0.1:7890
export https_proxy=http://127.0.0.1:7890Windows/macOS: 在网络设置中配置代理服务器
验证代理连接
配置完成后,可以通过访问一些国外网站或使用以下命令测试代理是否工作:
1 | curl -I https://www.google.com |
总结与优势
通过 Docker 部署 Clash 的主要优势:
- 跨平台兼容: 在 Linux、Windows 和 macOS 上都能一致运行
- 隔离环境: 避免与系统环境发生冲突
- 便捷管理: 一键启动、停止和更新
- 配置简单: 只需修改配置文件,无需复杂的安装过程
- 资源控制: 可以限制内存使用,避免系统资源浪费
Docker 提供的统一运行环境让 Clash 服务的部署和管理变得简单高效,是搭建个人代理服务的理想选择。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Iehong's Blog!

