1.VPN:clash-for-Linux
首先配置VPN
https://zhuanlan.zhihu.com/p/2852384493
2.配置docker
前面的步骤正常参照Ubuntu20.4配置docker的步骤
ubuntu20.04 安装docker (详细版)【24】_docker ubuntu image-CSDN博客
但是在run hello-world的时候总是显示超时连接
配置Docker的代理
步骤 1:创建或修改 Docker 配置文件
Docker 的代理配置需要在守护进程配置文件 /etc/docker/daemon.json
中完成。
- 打开或创建文件:
sudo nano /etc/docker/daemon.json
- 在文件中添加或修改以下内容(如果文件中已有其他配置项,请合并):
{"proxies": {"http-proxy": "http://127.0.0.1:7890","https-proxy": "http://127.0.0.1:7890","no-proxy": "localhost,127.0.0.1"}
}
-
- http-proxy 和 https-proxy:设置为代理的地址和端口(这里假设是
http://127.0.0.1:7890
)。 - no-proxy:指定不需要通过代理访问的地址列表,例如
localhost
或127.0.0.1
。
- http-proxy 和 https-proxy:设置为代理的地址和端口(这里假设是
- 保存并退出(按
Ctrl+O
,回车,然后按Ctrl+X
)。
步骤 2:重启 Docker 服务
配置完成后,需要重启 Docker 服务以使配置生效。
- 重新加载 systemd 配置:
sudo systemctl daemon-reload
- 重启 Docker:
sudo systemctl restart docker
- 验证 Docker 是否正常运行:
sudo systemctl status docker
步骤 3:验证代理配置是否生效
- 检查 Docker 服务是否加载了代理配置:
sudo systemctl show --property=Environment docker
正确的代理配置会输出类似以下内容:
Environment=HTTP_PROXY=http://127.0.0.1:7890 HTTPS_PROXY=http://127.0.0.1:7890 NO_PROXY=localhost,127.0.0.1
之前的步骤一切正常,但是在这里测试是否加载了代理配置,发现输出为空
步骤 4:代理配置未生效的解决办法
1.为了解决这个问题,先选择查看docker服务文件的路径
2.然后编辑该服务文件
在该文件的[Service]部分添加以下的内容
[Service]
Environment="HTTP_PROXY=http://127.0.0.1:7890"
Environment="HTTPS_PROXY=http://127.0.0.1:7890"
Environment="NO_PROXY=localhost,127.0.0.1"
然后ctr+o保存后回车,ctr+x退出
3.然后重新加载systemd配置,并重启docker服务
4.再一次验证代理环境变量是否生效
可以看到已经成功设置
5.尝试拉取镜像
不再超时,成功连接!!!