Clash for Docker 容器配置指南:从安装到自动化更新
引言
欢迎来到 Clash for Docker 容器的详细配置指南。无论你是 Docker 的新手,还是已经有一定经验的用户,本文都将为你提供详尽的步骤,指导你如何安装、配置 Clash 容器,并实现自动化更新和定时任务执行。
一、准备工作
安装 Docker
- 确保你的系统上已安装 Docker。若尚未安装,请访问 Docker 官方网站,根据你的操作系统下载并安装相应版本的 Docker。
获取 Clash 镜像
- 从 Docker Hub 拉取 Clash 镜像。例如,使用命令
docker pull centralx/clash
。
- 从 Docker Hub 拉取 Clash 镜像。例如,使用命令
二、启动 Clash 容器
你可以选择使用 docker run
命令或 docker-compose.yml
文件来启动 Clash 容器。
使用
docker run
命令1
2
3
4
5
6docker run -d \
--name clash \
-v /vol1/1000/docker/clash/config.yaml:/home/runner/.config/clash/config.yaml \
-p 7890:7890 \
-p 880:80 \
centralx/clash请将
/vol1/1000/docker/clash/config.yaml
替换为你的实际配置文件路径。使用
docker-compose.yml
文件
创建docker-compose.yml
文件,并添加以下内容:1
2
3
4
5
6
7
8
9
10
11version: '3.8'
services:
clash:
image: centralx/clash
container_name: clash
volumes:
- /vol1/1000/docker/clash/:/home/runner/.config/clash/
ports:
- "7890:7890"
- "880:80"
restart: unless-stopped然后运行
docker-compose up -d
命令启动容器。- 需要将文件进行映射:- /vol1/1000/docker/clash/config.yaml:/home/runner/.config/clash/config.yaml
三、配置自动更新脚本
创建脚本文件
- 在宿主机的
/vol1/1000/docker/clash/
目录下创建名为clash.sh
的脚本文件。
- 在宿主机的
添加脚本内容
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# 下载配置文件
wget -O /vol1/1000/docker/clash/config.yaml "https://你的订阅链接"
# 检查下载是否成功
if [ $? -eq 0 ]; then
# 更新配置文件,允许局域网连接
sed -i 's/allow-lan: false/allow-lan: true/g' /vol1/1000/docker/clash/config.yaml
echo "配置文件已成功下载并更新。"
# 检查是否存在名为 'clash' 的容器
if [ $(docker ps -q -f name=clash) ]; then
# 停止容器
echo "正在停止 clash 容器..."
docker stop clash
# 启动容器
echo "正在启动 clash 容器..."
docker start clash
echo "Clash Docker 容器已成功重启。"
else
echo "未找到 clash 容器。"
fi
else
echo "配置文件下载失败。"
fi- 请将
/vol1/1000/docker/clash/config.yaml
替换为你的实际配置文件路径。 - 将
https://你的订阅链接
替换为你的 Clash 订阅链接。 - 确保脚本中的容器名称与你的实际容器名称一致。
- 请将
给予执行权限
- 通过 SSH 登录到你的系统后台,并切换到 root 账号。
- 切换到
/vol1/1000/docker/clash/
目录,并给予clash.sh
脚本执行权限:chmod +x clash.sh
。
测试脚本
- 运行
./clash.sh
来测试脚本是否能正常运行。
- 运行
四、设置定时任务
在 Debian 系统中,你可以使用 cron 来设置定时任务。
打开 crontab 文件
- 运行
crontab -e
命令。
- 运行
添加定时任务
1
0 4 * * * /vol1/1000/docker/clash/clash.sh
这行命令表示每天凌晨 4 点执行
clash.sh
脚本。保存并退出编辑器。
检查 cron 服务状态
- 运行
sudo systemctl status cron
命令来检查 cron 服务是否正在运行。 - 如果服务未运行,使用
sudo systemctl start cron
命令启动它。
- 运行
五、验证与测试 Clash 配置
检查 Clash 配置
- 确保 Clash 配置允许局域网的连接。你可以通过编辑
config.yaml
文件来检查或修改这一设置。
- 确保 Clash 配置允许局域网的连接。你可以通过编辑
配置代理
- 在 Windows 系统上配置代理,将代理设置为你的服务器 IP 和端口 7890,并添加不走代理的本地 IP 地址(如
localhost;127.*;10.*;172.16.*-172.31.*;192.168.*
等)。1
localhost;127.*;10.*;172.16.*;172.17.*;172.18.*;172.19.*;172.20.*;172.21.*;172.22.*;172.23.*;172.24.*;172.25.*;172.26.*;172.27.*;172.28.*;172.29.*;172.30.*;172.31.*;172.32.*;192.168.*
- 在 Windows 系统上配置代理,将代理设置为你的服务器 IP 和端口 7890,并添加不走代理的本地 IP 地址(如
测试网络连接
- 确保代理配置正确且能够正常访问网络。你可以尝试访问一些网站或服务来验证 Clash 是否正常工作。
结语
通过以上步骤,你将能够成功配置 Clash for Docker 容器,并实现自动化更新和定时任务执行。如果遇到任何问题或需要进一步的帮助,请随时提问。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 飞鲤自留地!