Docker拉取容器镜像超时的问题解决办法

 更新时间:2025年02月08日 09:48:03   作者:编程洪同学  
这篇文章主要介绍了Docker拉取容器镜像超时问题的解决办法,解决方法包括配置Docker镜像加速器、设置代理、通过中介设备传送镜像等,文中通过图文介绍的非常详细,需要的朋友可以参考下

【问题】

在 2024年6月,由于非常隐晦的原因,国内各大容器镜像服务提供方限制或关闭服务。这导致了在大陆的 IT 工程师拉取镜像时出现超时的情况,无疑对工作产生了很大的影响。

【解决】

方案一:配置 Docker 镜像加速器

针对 Docker 客户端版本大于 1.10.0 的用户 您可以通过修改 daemon 配置文件 /etc/docker/daemon.json 来使用加速器:

如果在拉取镜像时发现又超时了,可以尝试继续更换其他镜像加速器地址。

sudo vim /etc/docker/daemon.json

# 添加以下内容
{
	"registry-mirrors": [
	    "https://docker.1ms.run/", 
	    "https://hub.rat.dev/", 
	    "https://docker.1panel.live/", 
	    "https://docker.m.daocloud.io/"
	]
}

sudo systemctl daemon-reload
sudo systemctl restart docker

方案二:配置代理,拉取镜像

已经使用 Docker 镜像加速器时,无需配置代理。

创建配置文件:

sudo mkdir -p /etc/systemd/system/docker.service.d
sudo vim /etc/systemd/system/docker.service.d/http-proxy.conf

添加配置:

[Service]
Environment="HTTP_PROXY=socks5://user:pass@127.0.0.1:1080"
Environment="HTTPS_PROXY=socks5://user:pass@127.0.0.1:1080"

重启 Docker:

sudo systemctl daemon-reload
sudo systemctl restart docker

查看环境变量:

sudo systemctl show --property=Environment docker

方案三:通过中介设备传送镜像

使用一台能够正常拉取 Docker Hub 镜像的设备,将镜像拉取到本地,然后传送到无法拉取镜像的设备上。
例如以下示例中规定:A 设备可以正常拉取 Docker Hub 镜像,B 设备无法拉取 Docker Hub 镜像。示例中将 mysql:8.0.33 镜像从 A 设备传送至 B 设备。

  • A 设备压缩镜像

在 A 设备中的 a-demo 目录下,将 mysql:8.0.33 镜像保存为 mysql:8.0.33.tar。压缩后的 tar 文件会被保存在执行命令的当前目录下:

docker save mysql:8.0.33 > mysql:8.0.33.tar

  • A 设备传送镜像至 B 设备的 /b-demo 目录下
sftp root@[ip]
put /Users/hayden/Desktop/a-demo/mysql:8.0.33.tar /b-demo/

  • B 设备加载镜像:
docker load < mysql:8.0.33.tar

总结

到此这篇关于Docker拉取容器镜像超时问题解决办法的文章就介绍到这了,更多相关Docker拉取容器镜像超时内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 完美卸载Docker的详细步骤

    完美卸载Docker的详细步骤

    Docker是一种流行的容器化平台,但是有时候我们可能需要卸载Docker,无论是因为需要重新安装版本,还是因为不再需要使用Docker,无论何种原因,正确地卸载Docker是很重要的,以确保系统的干净和稳定,下面跟大家详细介绍如何彻底卸载Docker的方法,让你能够轻松地清理干净
    2023-11-11
  • Docker安装Elasticsearch的实现示例

    Docker安装Elasticsearch的实现示例

    本文主要介绍了在Docker环境下安装和ockerSearch、Kibana及IK分词器的步骤,并并包括配置项设置D以及常用命令使用方法,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2026-04-04
  • Windows Server 2012 R2 安装 Docker的详细步骤

    Windows Server 2012 R2 安装 Docker的详细步骤

    这篇文章主要介绍了Windows Server 2012 R2 安装 Docker,在这个给大家说明下使用windows10、Windows Server 2016以上系统可直接使用安装包,低版本系统需要使用 Docker Toolbox 来进行安装使用 Docker,需要的朋友可以参考下
    2022-04-04
  • 使用Docker部署LMS轻量级音乐服务器的实现步骤

    使用Docker部署LMS轻量级音乐服务器的实现步骤

    本文主要介绍了使用Docker部署LMS轻量级音乐服务器的实现步骤,为用户提供了强大而灵活的音乐管理和播放体验,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-07-07
  • Linux/Docker 中使用 System.Drawing.Common 踩坑记录分享

    Linux/Docker 中使用 System.Drawing.Common 踩坑记录分享

    这篇文章主要介绍了Linux/Docker 中使用 System.Drawing.Common 踩坑记录,本文通过两种方案给大家详细介绍,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • Docker MySQL 单主从及分表函数的解决方案

    Docker MySQL 单主从及分表函数的解决方案

    本文介绍了MySQL单主从配置和按月分表两种方案,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2025-10-10
  • Mysql 在 Docker 中的时区问题记录

    Mysql 在 Docker 中的时区问题记录

    Mysql 时区一般是跟着系统走的,而在 Docker 中安装 Mysql 默认时区是 UTC,下面介绍,创建Docker容器前、后,分别如何设置 Mysql 时区,感兴趣的朋友跟随小编一起看看吧
    2024-07-07
  • Docker化Spring Boot应用的实践

    Docker化Spring Boot应用的实践

    本文主要介绍了Docker化Spring Boot应用的实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • docker-compose创建网桥,添加子网,删除网卡的实现

    docker-compose创建网桥,添加子网,删除网卡的实现

    这篇文章主要介绍了docker-compose创建网桥,添加子网,删除网卡的实现方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • ubuntu 22.04安装docker的详细过程

    ubuntu 22.04安装docker的详细过程

    这篇文章主要介绍了ubuntu 22.04安装docker的详细过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2025-04-04

最新评论