docker pull实现断点续传

问题背景

在使用Docker拉取DockerHub的镜像时,经常会出现网络不稳定的问题,这就导致拉取到一半的镜像会重新拉取,浪费时间。例如下面这种情况:

第二次拉取

这是一个网络中断的场景,第二次重新拉取的时候,同样是d103这个部分,又重新下载了一次。而且在不稳定的网络情况下(大概率),有可能继续中断,这就需要一个断点续传的配置。

解决方案

首先在docker的配置文件中加上这么一条:

txt 复制代码
"features": {
    "buildkit": true,
    "containerd-snapshotter": true
  }

如果是windows系统下的桌面版docker,可以直接在Docker Engine中修改配置文件:

如果是Linux系统,可以修改/etc/docker/daemon.json文件,然后重启docker服务。

问题未解决?

如果发现重启docker服务以后再次下载,还是从头开始下载的,那么可以在第一次下载的过程中手动终止docker pull,例如使用ctrl+c,然后再重启命令,此时我们发现,又重新从刚才终止前的断点开始下载了。而且,后续如果继续因为网络原因被中断,再次pull也可以继续从断点开始下载:

总结概要

本文介绍了使用Docker从DockerHub上下载容器镜像时很有可能出现的网络中断的问题。默认情况下,如果Docker下载镜像的过程中被中断了,是要从头开始下载的,而且再次下载也有可能受到网络波动的影响。这里提供了一种配置docker参数文件的方法,以及在该方案不生效的情况下的手动操作方法,最后实现了docker pull的断点续传。

版权声明

本文首发链接为:https://www.cnblogs.com/dechinphy/p/docker-pull-continue.html

作者ID:DechinPhy

更多原著文章:https://www.cnblogs.com/dechinphy/

请博主喝咖啡:https://www.cnblogs.com/dechinphy/gallery/image/379634.html

相关推荐
刘什么洋啊Zz4 分钟前
剖析IO原理和零拷贝机制
java·运维·网络
升讯威在线客服系统27 分钟前
如何通过 Docker 在没有域名的情况下快速上线客服系统
java·运维·前端·python·docker·容器·.net
Karoku0663 小时前
【CI/CD】CI/CD环境搭建流程和持续集成环境配置
运维·ci/cd·docker·容器·kubernetes·prometheus
勤奋的凯尔森同学6 小时前
webmin配置终端显示样式,模仿UbuntuDesktop终端
linux·运维·服务器·ubuntu·webmin
Bright16688 小时前
centos9安装k8s集群
云原生·容器·kubernetes
!!!5259 小时前
华为云镜像加速器
docker·容器·华为云
技术小齐10 小时前
网络运维学习笔记 016网工初级(HCIA-Datacom与CCNA-EI)PPP点对点协议和PPPoE以太网上的点对点协议(此处只讲华为)
运维·网络·学习
ITPUB-微风10 小时前
Service Mesh在爱奇艺的落地实践:架构、运维与扩展
运维·架构·service_mesh
落幕10 小时前
C语言-进程
linux·运维·服务器
chenbin52011 小时前
Jenkins 自动构建Job
运维·jenkins