在云原生时代,容器技术如Docker和Containerd成为了构建、部署和运行应用程序的标准方式。然而,从公共仓库(如Docker Hub)拉取镜像时,速度往往成为瓶颈,尤其是在网络条件不佳或地理位置偏远的地区。为了解决这一问题,本文将指导你如何配置Docker和Containerd,以使用国内或更接近你的地域的镜像加速器,从而显著提升镜像的拉取速度。

远航的container示图
国内从 DockerHub 拉取镜像有时会遇到困难,此时可以配置镜像加速器。Docker 官方和国内很多云服务商都提供了国内加速器服务,例如:
https://dockerhub.icu
https://docker.hlyun.org
1、docker配置文件添加不安全仓库参数
"registry-mirrors": [
"https://dockerhub.icu"
],
2、生效docker配置
$ sudo kill -1 $(ps -ef | grep [d]ockerd | awk '{print $2}')
3、查看生效配置
$ sudo docker info | awk '/Mirrors/,/Live/ {print $0}' | grep http
https://dockerhub.icu/
1、抓包拉取镜像数据包
$ tcpdump -i ens33 -enn '(udp and port 53) or (host dockerhub.icu)' -w dockerhub.pcap
Tip:上述命令只抓取DNS数据包 以及 域名为dockerhub.icu数据包。tcpdump抓包使用到域名的话,系统会自动发起一次dns解析
2、拉取hub.docker.com的镜像
$ docker pull docker.io/library/debian:stable-slim
stable-slim: Pulling from library/debian
Digest: sha256:57bd74e95092e6d4c0cdb6e36ca3db5bb828c2f592788734d1a707a4b92e7755
Status: Image is up to date for debian:stable-slim
docker.io/library/debian:stable-slim
3、查看抓包数据

Tip:抓包数据后续都是与dockerhub.icu解析到的公网IP地址交互的话,则说明docker配置镜像加速地址成功
通过上述步骤,你可以显著提高Docker在拉取镜像时的速度,这不仅能够节省时间,还能提升开发和运维效率。记住,选择一个稳定且快速的镜像加速器对于整个容器化流程的顺畅运行至关重要。
篇幅长度有限,运行时的镜像加速配置全攻略分别上下篇。敬请期待下篇Containerd镜像加速配置。
别忘了,关注我们的公众号,获取更多关于容器技术和云原生领域的深度洞察和技术实战,让我们一起探索容器技术的无限可能!

文章转载自Linux运维智行录,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




