先安装好docker
和docker-compose
,ubuntu直接使用apt
docker-compose这个软件类似于胶水的作用,相当于将文件,(多个)镜像粘合起来使用.
通过这个软件我们就可以将自己的clash配置文件链接到clash的docker镜像中使用
准备两个文件放在一起,其中一个是
config.yaml
需要把这个文件替换成自己的clash配置文件,以下官网给的范例
port: 7890
socks-port: 7891
# `allow-lan` must be true in your config.yaml
allow-lan: true
external-controller: 0.0.0.0:8080
另一个是docker-compose
的配置文件,无需更改,文件名必须为docker-compose.yml
注意linux下要把bridge改成host
version: '3'
services:
clash:
image: dreamacro/clash
volumes:
- ./config.yaml:/root/.config/clash/config.yaml
ports:
- "7890:7890"
- "7891:7891"
# 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: "bridge"
container_name: clash
其中解释一下这一行,冒号前面是本机文件的地址,冒号后面是clash镜像所使用的镜像地址,做了一个映射
./config.yaml:/root/.config/clash/config.yaml
在两个文件同时存在的目录下,使用命令
sudo docker-compose up -d
-d
表示后台启动
原文:https://www.cnblogs.com/CodeAndMoe/p/clash-in-docker-linux.html