创建带本地镜像仓库的K3D集群时遭遇Docker Hub速率限制
解决方案:通过本地镜像绕过Docker Hub速率限制创建K3D集群
完全可以利用本地预加载的registry:2镜像绕过Docker Hub的速率限制,成功创建带私有仓库的K3D集群,具体操作步骤如下:
步骤1:在可正常拉取镜像的机器上导出registry镜像
在不受速率限制的环境(比如个人机器、非公司VPN网络)执行命令,将镜像保存为本地文件:
docker save docker.io/library/registry:2 > registry.tar
步骤2:将镜像文件传输到目标开发机并加载
把registry.tar文件传输到你的公司VPN环境开发机后,执行加载命令:
docker load < registry.tar
执行完成后,可通过docker images命令确认docker.io/library/registry:2镜像已存在于本地。
步骤3:修改K3D集群创建命令,指定使用本地镜像
修改原创建命令,在--registry-create参数后通过@符号指定本地已加载的镜像,避免远程拉取:
k3d cluster create MyCluster --servers 1 -p "8081:80@loadbalancer" -p "443:443@loadbalancer" --registry-create registry:0.0.0.0:80@docker.io/library/registry:2
额外说明
- 如果你给本地镜像设置了自定义标签(比如
docker tag docker.io/library/registry:2 local-registry:2),可以直接在命令中使用自定义标签,例如:--registry-create registry:0.0.0.0:80@local-registry:2 - K3D在创建registry容器时,会优先使用本地已存在的镜像副本,不会发起Docker Hub的拉取请求,彻底规避速率限制问题。
内容的提问来源于stack exchange,提问作者Prithvi Boinpally
相关产品推荐
相关产品推荐

