docker 镜像备份

Docker 容器创建一个包含容器当前状态的备份镜像 ,核心是用 docker commit 命令,我会给你分步讲解操作方法,包括基础备份、添加标签、验证镜像,以及更规范的备份方式(推荐)。


第一步:确认要备份的容器信息

先执行命令找到目标容器的 容器 ID 或 容器名:

bash

运行

复制代码
# 列出所有容器(包含已停止的)
docker ps -a

输出示例(比如你要备份 ros_humble_container 这个容器):

plaintext

复制代码
CONTAINER ID   IMAGE                                COMMAND                   STATUS         NAMES
e90e0d36e5a3   osrf/ros:humble-desktop-full-jammy   "/ros_entrypoint.sh ..."   Up 2 hours     ros_humble_container

第二步:创建容器的备份镜像(核心命令)

使用 docker commit 命令,格式:

bash

运行

复制代码
docker commit [容器ID/容器名] [备份镜像名]:[标签]
实操示例(以你的 ROS 容器为例):

bash

运行

复制代码
# 基于容器 ros_humble_container 创建备份镜像,命名为 ros_humble_backup,标签为 v1.0
docker commit ros_humble_container ros_humble_backup:v1.0
  • 执行后会输出一串镜像 ID,说明备份成功;

  • 若想保留容器运行时的环境变量、端口映射等配置,添加 -c 参数(示例):

    bash

    运行

    复制代码
    # 保留容器的环境变量和启动命令
    docker commit -c 'ENV DISPLAY=host.docker.internal:0' -c 'CMD ["/ros_entrypoint.sh", "bash"]' ros_humble_container ros_humble_backup:v1.0

第三步:验证备份镜像是否创建成功

bash

运行

复制代码
# 列出本地镜像,查看备份镜像是否存在
docker images

输出示例(能看到 ros_humble_backup:v1.0 即为成功):

plaintext

复制代码
REPOSITORY            TAG       IMAGE ID       CREATED          SIZE
ros_humble_backup     v1.0      a1b2c3d4e5f6   10 seconds ago   8.5GB
osrf/ros              humble    f7g8h9i0j1k2   2 weeks ago      8.2GB

第四步:(可选)将备份镜像保存为本地文件(离线备份)

如果需要把镜像导出为文件(比如拷贝到其他机器),用 docker save 命令:

bash

运行

复制代码
# 将备份镜像导出为 tar 文件(存到 Windows 桌面)
docker save -o C:\Users\<你的用户名>\Desktop\ros_humble_backup_v1.0.tar ros
相关推荐
IT_陈寒几秒前
深入理解SpringBoot:核心原理与最佳实践
前端·人工智能·后端
wdf80883 分钟前
重型车辆、矿山装备、汽车研发、CAE、自动驾驶和沃尔沃重型车辆研发工作站配置与本地AI部署指南
人工智能·自动驾驶·cfd·creo机械设计
Jsundoku3 分钟前
第四章 机器学习 -- 马尔可夫决策过程
人工智能·机器学习·马尔可夫决策过程
lpfasd1234 分钟前
推荐算法进化史
算法·机器学习·推荐算法
江苏久众新视6 分钟前
SOP流程AI视觉检测实战案例:基于安防相机与本地AI的产线防错防漏方案落地分享
人工智能·数码相机·视觉检测
东离与糖宝7 分钟前
LLM基础学习笔记:看懂BLEU、ROUGE、PPL与三大模型架构
人工智能
IT研究室13 分钟前
最新大数据毕业设计选题推荐-基于大数据的AI助手系统性软件缺陷评论挖掘与可视化-大数据-Spark-Hadoop-Bigdata
大数据·人工智能·课程设计
Pniubi15 分钟前
力扣543二叉树的直径(深度优先搜索法(递归))
算法·leetcode·职场和发展
u13013016 分钟前
GitHub 热榜项目:日榜(2026-10-30)
人工智能·github
超级架构师20 分钟前
让 Fortran 模型自己调用 Agent:原生 Fortran 2008 实现深度剖析
人工智能·python·架构·机器人·开源·fortran