25年Docker镜像无法下载的四种对策

一.配置镜像仓库

java 复制代码
echo '{"registry-mirrors": ["https://docker.1ms.run"]}' | sudo tee /etc/docker/daemon.json > /dev/null
systemctl daemon-reload
systemctl restart docker

二.增加镜像前缀

实测推荐

java 复制代码
# docker pull  nginx:latest 增加前缀
# docker pull m.daocloud.io/docker.io/library/nginx:latest

[root@docker-vm ~]# docker pull m.daocloud.io/docker.io/library/nginx:latest
latest: Pulling from nginx
c29f5b76f736: Pull complete 
e19db8451adb: Pull complete 
24ff42a0d907: Pull complete 
c558df217949: Pull complete 
976e8f6b25dd: Pull complete 
6c78b0ba1a32: Pull complete 
84cade77a831: Pull complete 
Digest: sha256:91734281c0ebfc6f1aea979cffeed5079cfe786228a71cc6f1f46a228cde6e34
Status: Downloaded newer image for m.daocloud.io/docker.io/library/nginx:latest
m.daocloud.io/docker.io/library/nginx:latest

容易卡死

java 复制代码
docker pull docker.1ms.run/nginx:latest

三.魔法打败魔法

安装Docker的虚拟机采用NAT模式共享宿主机的魔法




四.找到基准环境离线导入

在Docker中,你可以使用docker save命令将所有镜像导出为一个压缩文件,然后使用docker load命令将导出的文件重新导入到Docker环境中。以下是详细步骤:
导出所有Docker镜像
步骤1:查看所有镜像

在导出之前,你可以先查看当前Docker环境中的所有镜像,使用以下命令:

java 复制代码
docker images

这个命令会列出所有本地的Docker镜像,包括镜像的仓库名、标签、镜像ID等信息。
步骤2:导出所有镜像

使用docker save命令将所有镜像保存到一个压缩文件中。由于docker save命令本身不支持直接保存所有镜像,你需要借助docker images -q命令获取所有镜像的ID,然后传递给docker save。

java 复制代码
docker save $(docker images -q) -o all_images.tar

● docker images -q:该命令会输出所有本地镜像的ID。

● docker save:用于将指定的镜像保存到一个文件中。

● -o all_images.tar:指定保存的文件名,这里将所有镜像保存为all_images.tar文件。
导入所有Docker镜像
步骤1:将导出的文件传输到目标主机

如果你需要将镜像导入到另一台主机,需要将之前导出的all_images.tar文件传输到目标主机上。可以使用scp等工具进行文件传输,示例命令如下:

java 复制代码
scp all_images.tar user@target_host:/path/to/destination

其中user是目标主机的用户名,target_host是目标主机的IP地址或域名,/path/to/destination是目标主机上的文件保存路径。
步骤2:导入镜像

在目标主机上,使用docker load命令将保存的镜像文件导入到Docker环境中

java 复制代码
docker load -i all_images.tar

● -i all_images.tar:指定要导入的镜像文件。

执行该命令后,Docker会读取all_images.tar文件,并将其中的所有镜像导入到本地镜像库中。你可以再次使用docker images命令来验证镜像是否成功导入。
注意事项
● 文件大小 :如果本地有大量的镜像,导出的文件可能会非常大,需要确保有足够的磁盘空间来存储导出的文件,以及目标主机有足够的空间来导入这些镜像。
● 镜像兼容性:确保导出和导入的Docker版本兼容,避免因版本差异导致镜像导入失败。

相关推荐
极客先躯8 分钟前
高级java每日一道面试题-2026年02月08日-实战篇[Docker]-如何实现容器的快照和恢复?
java·运维·docker·容器·备份·持久化·恢复
AI服务老曹12 分钟前
打破品牌壁垒:基于 Docker 的国标 GB28181 与 RTSP 异构视频流统一接入平台架构设计(可源码交付)
运维·docker·容器
断眉的派大星14 分钟前
Docker 完整命令手册(含参数缩写对应英文原意+详解+示例)
docker
r-t-H26 分钟前
Docker进阶与容器编排实践-第二章
运维·docker·容器·dockerfile·docker compose·docker网络
“码”力全开35 分钟前
深入解构企业级 AI 视频管理平台:基于 Docker 的异构计算架构,支持 GB28181/RTSP 多协议接入与全面源码交付
人工智能·docker·音视频
AI服务老曹1 小时前
深度解析:基于 Docker 与边缘计算的 AI 视频管理平台 —— 实现 GB28181/RTSP 统一接入与源码交付的异构架构实践
人工智能·docker·边缘计算
羑悻的小杀马特2 小时前
拆解下一代LLMOps:从“能用”到“好用”,中间只隔了一个智能路由!
人工智能·docker·自动化·agent
正经教主13 小时前
【docker基础】第五课:Docker网络详解
运维·docker·容器
鹤鸣的日常15 小时前
前端运行时动态环境变量方案
前端·react.js·docker·前端框架·vue·gitlab
我是谁??18 小时前
ubuntu22.04 通过docker部署vLLM(Qwen3-0.6B)大模型+New API+OpenWebUI
docker·容器·vllm