主要功能
-
镜像拉取:从Docker Hub或私有仓库下载镜像。输入镜像名或
镜像名:tag,输出本地存储的完整镜像层。例如docker pull nginx:latest拉取最新版Nginx。 -
镜像导出为tar:用
docker save将镜像打包成tar文件。输入镜像名/ID加输出路径,生成单文件,适合备份或离线迁移。支持多镜像打包到一个tar。 -
tar文件加载为镜像:通过
docker load -i从tar文件恢复镜像。输入tar文件路径,输出完整镜像层。保留历史记录和元数据,支持回滚操作。 -
容器导出为tar:用
docker export将运行中或停止的容器导出。输入容器名加输出路径,生成快照文件。文件体积比docker save小。 -
tar导入为新镜像:用
docker import从容器tar创建新镜像。输入tar文件并指定新镜像名:Tag,输出不含历史层的扁平快照。不支持回滚。 -
容器运行与管理:
docker run -it -d --name 别名 镜像名:Tag /bin/bash启动容器。docker ps -a查看所有容器状态。docker stop停止容器。docker exec或docker attach进入容器。 -
镜像删除:
docker rmi -f 镜像名/ID强制删除本地镜像。释放存储空间。
如何使用
- 拉取镜像:
docker pull 镜像名:tag - 保存镜像:
docker save 镜像名 -o 路径/文件名.tar - 加载镜像:
docker load -i 路径/文件名.tar - 导出容器:
docker export -o 路径/文件名.tar 容器名 - 导入容器为新镜像:
docker import 文件名.tar 新镜像名:Tag - 运行容器并命名:
docker run -it -d --name 别名 镜像名:Tag /bin/bash - 进入运行容器:
docker exec -it 容器名 /bin/bash
核心优势
-
save vs export:
docker save保留镜像层历史,支持回滚。docker export只生成容器快照,文件小但丢失元数据。一般情况,save用于镜像备份,export用于制作基础镜像。 -
load vs import:
docker load从tar恢复镜像,不能改名。docker import允许为新镜像指定名称,但导入save文件可能报命令找不到错误。 -
多镜像打包:
docker save支持将多个镜像打包到一个tar。docker export只能导出单个容器。实际使用时,离线环境用save配合docker-compose.yml更合适。
同类竞品对比
| 对比维度 | Docker | Podman | containerd |
|---|---|---|---|
| 镜像导出机制 |
docker save生成tar,保留全部层历史 |
podman save类似,支持OCI格式 |
ctr image export,输出原始层 |
| 容器导出机制 |
docker export导出快照,丢失历史 |
podman export功能相同 |
不直接支持容器导出 |
| 导入重命名支持 |
docker import支持,docker load不支持 |
podman load不支持重命名,podman import支持 |
ctr image import不支持重命名 |
| 多镜像打包 |
docker save支持多镜像到单tar |
podman save支持多镜像 |
ctr不支持多镜像打包 |
| 回滚能力 |
docker save/load保留层历史,支持回滚 |
podman save/load保留历史 |
ctr镜像操作保留历史 |
| 文件体积 |
export文件小于save
|
类似 | 类似 |
应用场景
-
离线环境部署:用
docker save将多镜像打包,docker load恢复。适合无法连接外网的服务器。 -
基础镜像制作:用
docker export导出运行中容器,docker import导入为新镜像。适合自定义基础环境。 -
镜像迁移:在不同主机间复制镜像。
docker save生成tar,拷贝后docker load加载。 -
容器快照备份:对容器做临时快照,用
docker export导出,快速恢复特定状态。不支持历史回滚,所以只做单点备份。 -
多版本管理:
docker save保留层历史,可回滚到之前版本。docker import则不可回滚。
适用人群
-
运维工程师:需要离线部署、镜像迁移、容器备份。用
save/load处理多镜像组合。 -
开发测试人员:构建自定义基础镜像,用
export/import快速生成测试环境。 - 系统管理员:管理多主机Docker环境,通过tar文件分发镜像或容器。
-
DevOps工程师:在CI/CD流程中,用
docker save打包镜像,docker load在目标环境恢复。
温馨提示:本站提供的一切软件、教程和内容信息都来自网络收集整理,仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负,版权争议与本站无关。用户必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!
