第一步:建立 SSH SOCKS5 代理隧道
ssh -f -N -D 1080 your_username@your-server-ip
|
-f:后台运行
-N:不执行远程命令
-D 1080:本地开启 SOCKS5 代理
验证:
curl --socks5-hostname 127.0.0.1:1080 https://ifconfig.me
|
应返回 xxx.xxx.xxx.xxx
第二步:安装并配置 privoxy(SOCKS5 → HTTP 转换)
sudo dnf install privoxy -y
|
配置 /etc/privoxy/config
sudo vim /etc/privoxy/config
|
修改以下两行:
listen-address 127.0.0.1:8118 forward-socks5t / 127.0.0.1:1080 .
|
🔑 行尾的 . 不能少!这是 privoxy 语法。
第三步:为 Docker daemon 配置 HTTP 代理
sudo mkdir -p /etc/systemd/system/docker.service.d
|
创建代理配置文件:
sudo tee /etc/systemd/system/docker.service.d/http-proxy.conf <<EOF [Service] Environment="HTTP_PROXY=http://127.0.0.1:8118" Environment="HTTPS_PROXY=http://127.0.0.1:8118" Environment="NO_PROXY=localhost,127.0.0.1,.local" EOF
|
重载并重启 Docker:
sudo systemctl daemon-reload sudo systemctl restart docker
|
第四步:解决 DNS 问题(关键!)
sudo vim /etc/docker/daemon.json
{ "dns": ["8.8.8.8", "1.1.1.1"], "dns-opts": ["timeout:3", "attempts:3"] }
|
重启 Docker:
sudo systemctl restart docker
|
第五步:终极测试
使用containerd
sudo mkdir -p /etc/containerd containerd config default | sudo tee /etc/containerd/config.toml
|
修改 /etc/containerd/config.toml
[plugins."io.containerd.grpc.v1.cri".registry] [plugins."io.containerd.grpc.v1.cri".registry.configs] [plugins."io.containerd.grpc.v1.cri".registry.configs."registry.k8s.io".proxy] http_proxy = "http://127.0.0.1:8118" https_proxy = "http://127.0.0.1:8118" no_proxy = "localhost,127.0.0.1,0.0.0.0,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16"
[plugins."io.containerd.grpc.v1.cri".registry.configs."k8s.gcr.io".proxy] http_proxy = "http://127.0.0.1:8118" https_proxy = "http://127.0.0.1:8118" no_proxy = "localhost,127.0.0.1,0.0.0.0,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16"
[plugins."io.containerd.grpc.v1.cri".registry.mirrors] [plugins."io.containerd.grpc.v1.cri".registry.mirrors."registry.k8s.io"] endpoint = ["https://registry.k8s.io"] [plugins."io.containerd.grpc.v1.cri".registry.mirrors."k8s.gcr.io"] endpoint = ["https://k8s.gcr.io"]
|
重启sudo systemctl restart containerd
拉取镜像测试
sudo crictl pull registry.k8s.io/pause:3.9
|