Ubuntu20.4 VPN+Docker代理配置

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 中完成。

  1. 打开或创建文件:

    sudo nano /etc/docker/daemon.json

  2. 在文件中添加或修改以下内容(如果文件中已有其他配置项,请合并):

    {
    "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。
  1. 保存并退出(按 Ctrl+O,回车,然后按 Ctrl+X)。

步骤 2:重启 Docker 服务

配置完成后,需要重启 Docker 服务以使配置生效。

  1. 重新加载 systemd 配置:

    sudo systemctl daemon-reload

  2. 重启 Docker:

    sudo systemctl restart docker

  3. 验证 Docker 是否正常运行:

    sudo systemctl status docker


步骤 3:验证代理配置是否生效
  1. 检查 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.尝试拉取镜像

不再超时,成功连接!!!

相关推荐
大鹏的NLP博客9 分钟前
WSL Ubuntu 26.04 升级与环境整理记录
linux·ubuntu·wsl
元Y亨H34 分钟前
基于 Jenkins + Docker 的前端(Vben Admin)CI/CD 踩坑
docker·jenkins
云贝贝贝1 小时前
PostgreSQL 分区表:从设计到运维,大表不再卡
运维·数据库·postgresql
wzq11_6662 小时前
kubernetes集群——灰度发布
云原生·容器·kubernetes
白兰地空瓶2 小时前
项目要上线了,我连夜学完 Docker:从底层原理到容器化部署全记录
docker·全栈
fengkai45452 小时前
十二、Redis -1
运维·数据库·redis
忆挽篱笙歌2 小时前
gdb/cgdb
linux·ubuntu
甜到心里的蛋糕3 小时前
Playwright 无头浏览器自动发布 CSDN 图文草稿的实践(持久化 profile + 图床直传)
运维·python·playwright·爬虫自动化·博客运营
凌云若寒4 小时前
BarTender提示#807错误:无法在拥有其他许可证的Licensing Service上激活节点锁定的 Professional 版许可证 的解决办法
运维·服务器·前端·学习·软件需求
Knight_AL4 小时前
PostgreSQL Docker 数据库备份:pg_dump 与 SQL 格式备份的区别
数据库·docker·postgresql