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
相关推荐
冬奇Lab6 小时前
Workflow 系列(03):状态管理——持久化、幂等性与版本绑定
人工智能·工作流引擎
冬奇Lab6 小时前
每日一个开源项目(第146篇):openpilot - 开源自动驾驶辅助系统,曾在 Consumer Reports 评测中超过特斯拉 Autopilot
人工智能·开源·自动驾驶
吴佳浩7 小时前
AI 工程师知识地图:模型格式、框架、部署工具一次讲明白
人工智能·aigc·ai编程
IT_陈寒8 小时前
Java的Date类又坑了我一次,改用时间戳真香
前端·人工智能·后端
码农胖大海8 小时前
AI额度不够用的解决方案
人工智能
后端小肥肠8 小时前
小红书虚拟商品怎么做?我先用 Skill 跑通了壁纸品类
人工智能·aigc·agent
feiyu_gao8 小时前
从零搭建个人 AI 工作台:一个管理者的 3 个月实验
人工智能·aigc·团队管理
先吃饱再说8 小时前
判断回文字符串,从一行代码到双指针优化
算法
程序员cxuan9 小时前
一句话,让你用上 GPT-5.6
人工智能·后端·程序员