Debian12配置Clash代理拉取docker镜像

debian12 中安装了 docker,由于一些为你好的原因,死活拉取不了镜像,一直超时。第一次在 Linux 环境下配置 clash,踩了一些坑,记录一下,供遇到相同问题的参考。

项目地址:wnlen/clash-for-linux

拉取项目

git clone https://github.com/wnlen/clash-for-linux.git clash-for-linux

编辑 .env 文件,将 CLASH_URL 变量替换为订阅链接,将 CLASH_SECRET 替换为自定义的密码。

运行启动脚本

chmod +x start.sh
./start.sh

开启代理

source /etc/profile.d/clash.sh
proxy_on

检查环境变量

env | grep -E 'http_proxy|https_proxy'
http_proxy=http://127.0.0.1:7890
https_proxy=http://127.0.0.1:7890

以上步鄹如果正常,说明服务clash程序启动成功。

重启程序

如果需要对Clash配置进行修改,请修改 conf/config.yaml 文件。然后运行 restart.sh 脚本进行重启。

注意: 重启脚本 restart.sh 不会更新订阅信息。

关闭服务

sudo bash shutdown.sh

关闭代理

proxy_off

访问 http://ip:9090/ui 登录管理界面,可以选择节点等。

配置好代理之后,发现还是连不上 docker hub,拉取镜像还是超时。虽然在 clash 管理界面中配置了全局代理,但是还需要在 docker 中单独配置一下。

配置 docker 优先使用 ipv4,修改 /etc/daemon.json 如下:

{
  "ipv6": false,
  "fixed-cidr-v6": "2001:db8:1::/64",  # 值不影响
  "experimental": false
}

然后配置 systemd:

sudo mkdir -p /etc/systemd/system/docker.service.d
sudo vim /etc/systemd/system/docker.service.d/http-proxy.conf

文件内容如下:

[Service]
Environment="HTTP_PROXY=http://127.0.0.1:7890"
Environment="HTTPS_PROXY=http://127.0.0.1:7890"

重启服务

sudo systemctl daemon-reload
sudo systemctl restart docker

执行 docker search hello-world 测试一下吧!

参考: