一文详解如何配置docker通过代理服务器拉取镜像

 更新时间:2024年07月11日 09:06:39   作者:一个高效工作的家伙  
这篇文章主要给大家介绍了关于如何配置docker通过代理服务器拉取镜像的相关资料,如果在拉取Docker镜像时遇到速度较慢的问题,可以尝试以下几种方法解决,需要的朋友可以参考下

前言

如果 docker 所在的环境是通过代理服务器和互联网连通的,那么需要一番配置才能让 docker 正常从外网正常拉取镜像。然而仅仅通过配置环境变量的方法是不够的。本文结合已有文档,介绍如何配置代理服务器能使docker正常拉取镜像。

本文使用的docker 版本是

docker --version
Docker version 25.0.1, build cb74dfc

问题现象

如果不配置代理服务器就直接拉镜像,docker 会直接尝试连接镜像仓库,并且连接超时报错。如下所示:

$ docker pull busybox
Using default tag: latest
Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled 
while waiting for connection (Client.Timeout exceeded while awaiting headers)

1、创建 dockerd 相关的 systemd 目录,这个目录下的配置将覆盖 dockerd 的默认配置

$ sudo mkdir -p /etc/systemd/system/docker.service.d

新建配置文件 /etc/systemd/system/docker.service.d/http-proxy.conf,这个文件中将包含环境变量

[Service]
Environment="HTTP_PROXY=http://proxy.example.com:80"
Environment="HTTPS_PROXY=https://proxy.example.com:443"

如果你自己建了私有的镜像仓库,需要 dockerd 绕过代理服务器直连,那么配置 NO_PROXY 变量:

[Service]
Environment="HTTP_PROXY=http://proxy.example.com:80"
Environment="HTTPS_PROXY=https://proxy.example.com:443"
Environment="NO_PROXY=your-registry.com,10.10.10.10,*.example.com"

多个 NO_PROXY 变量的值用逗号分隔,而且可以使用通配符(*),极端情况下,如果 NO_PROXY=*,那么所有请求都将不通过代理服务器。

2、重新加载配置文件,重启 dockerd

$ sudo systemctl daemon-reload
$ sudo systemctl restart docker

3、检查确认环境变量已经正确配置:

$ sudo systemctl show --property=Environment docker

从 docker info 的结果中查看配置项。

这样配置后,应该可以正常拉取 docker 镜像。

总结

到此这篇关于如何配置docker通过代理服务器拉取镜像的文章就介绍到这了,更多相关docker通过代理服务器拉取镜像内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • docker磁盘空间清理的解决办法

    docker磁盘空间清理的解决办法

    前段时间遇到docker磁盘空间太少,无法写入数据的问题。本文就来介绍一下docker磁盘空间清理的解决办法,感兴趣的可以了解一下
    2021-06-06
  • 解决docker加载新的镜像后repository和tag名称都为none的问题

    解决docker加载新的镜像后repository和tag名称都为none的问题

    这篇文章主要介绍了解决docker加载新的镜像后repository和tag名称都为none的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • Docker的核心及安装的具体使用

    Docker的核心及安装的具体使用

    这篇文章主要介绍了Docker的核心及安装的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • 如何解决Docker启动问题docker is starting…

    如何解决Docker启动问题docker is starting…

    这篇文章主要给大家介绍了关于如何解决Docker启动问题docker is starting…的相关资料,文中通过图文将解决的过程介绍的非常详细,需要的朋友可以参考下
    2023-10-10
  • 详解如何干净的卸载docker的方法

    详解如何干净的卸载docker的方法

    这篇文章主要介绍了详解如何干净的卸载docker的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • Docker磁盘空间清理的方法实现

    Docker磁盘空间清理的方法实现

    在使用Docker的过程中,系统会逐渐积累一些无用的垃圾文件,占据宝贵的磁盘空间并影响系统性,本文主要介绍了Docker磁盘空间清理的方法实现,具有一定的参考价值,感兴趣的可以了解一下
    2023-09-09
  • docker的具名挂载与匿名挂载实现

    docker的具名挂载与匿名挂载实现

    本文主要介绍了docker的具名挂载与匿名挂载实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • Docker搭建OpenLDAP+phpLDAPadmin统一用户认证的方法

    Docker搭建OpenLDAP+phpLDAPadmin统一用户认证的方法

    这篇文章主要介绍了Docker搭建OpenLDAP+phpLDAPadmin统一用户认证,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • 详解docker部署SpringBoot及替换jar包的方法

    详解docker部署SpringBoot及替换jar包的方法

    这篇文章主要介绍了详解docker部署SpringBoot及替换jar包的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • Docker本地部署Firefox火狐浏览器并远程访问的流程

    Docker本地部署Firefox火狐浏览器并远程访问的流程

    在Docker中打开Firefox意味着我们将在一个Docker容器中运行Firefox浏览器,下面是一个简单的示例,演示如何在Docker中打开Firefox,本次实践部署环境为本地环境,感兴趣的朋友一起看看吧
    2023-11-11

最新评论