帮助中心 >  行业资讯 >  云计算 >  解决 docker pull 不到镜像的问题

解决 docker pull 不到镜像的问题

2025-02-07 11:57:59 1188

写在前面

自从docker站点大范围挂了之后,使用科学上网也拉不到镜像。今天花时间研究了一下,特此记录一下。

一、解决 docker pull 不下来镜像

docker ci 命令是走守护进程网络的,而守护进程在Ubuntu上是给systemctl管理的,所以只需要给这个守护进程单独设置网络代理即可

前提条件:有个科学上网环境,假设ip127.0.0.1,端口是7890

  • 创建docker守护进程设置文件夹

    • mkdir /etc/systemd/system/docker.service.d

  • 创建守护进程网络代理文件

    • vi /etc/systemd/system/docker.service.d/proxy.conf

  • 在新创建的proxy.conf文件中添加以下内容

      [Service]
    Environment="HTTP_PROXY=http://www.landui.com:7890"
    Environment="HTTPS_PROXY=http://www.landui.com:7890"
    Environment="NO_PROXY=localhost,127.0.0.1"

  • 验证代理设置

    • systemctl show --property=Environment docker

  • 刷新systemctl列表

    • sudo systemctl daemon-reload

  • 重启docker守护进程

    • sudo systemctl restart docker

到此为止就可以愉快使用docker pull

二、解决 docker 内容器不能访问某些网络

docker容器内部是一个个的user,网络权限在docker > user上,只需要设置容器级别的网络代理就可以。

前提条件:

  • 有个科学上网环境,假设ip192.168.50.27 或 127.0.0.1,端口是7890

  • 假设本机的内网ip地址是192.168.50.27

  • 打开docker配置文件,没有就新建

    • vi ~/.docker/config.json

  • 追加以下内容(如果你的文件中有内容,最外层的大括号需要删掉,从"proxies"开始)

    {
      "proxies": {
          "default": {
            "httpProxy""http://www.landui.com:7890",
            "httpsProxy""http://www.landui.com:7890",
            "noProxy""localhost,127.0.0.1"
          }
      }
    }

  • 重启docker守护进程(本质上是批量重启了所有容器,让容器都应用了这个代理规则),也可以不重启,那样只有新启动的容器才会生效

  • sudo systemctl restart docker


    有了宝塔面板,即使是 Linux 服务器小白,也能快速上手,轻松管理服务器。从一键配置环境到便捷的 Web 端操作,宝塔面板都能全方位满足用户的需求。希望今天的分享能够帮到大家,赶紧按照上述步骤安装,开启个人建站之旅吧!

    想了解更多Linux相关分享欢迎上蓝队云官网查询,蓝队云为大家准备了完善的技术支持库参考,大家可自行查阅,更多技术问题,也可以直接咨询专业客服。


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: