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
相关推荐
段小二1 分钟前
Chat Memory 实战:让 LLM 记住多轮对话(Java 架构师的 AI 工程笔记 05)
人工智能
东离与糖宝16 分钟前
Java 21 虚拟线程与 AI 推理结合的最新实践
java·人工智能
Boop_wu17 分钟前
[Java 算法] 模拟
算法
火山引擎开发者社区18 分钟前
火山养“龙虾”日志 | 14 大神仙玩法,原来 AI Agent 还能这么用
人工智能
khddvbe28 分钟前
C++中的代理模式实战
开发语言·c++·算法
新缸中之脑29 分钟前
Hermes-Agent 简明指南
人工智能
鲸鱼在dn29 分钟前
【CS336】Lecture1课程讲义-语言模型发展历程&Tokenization概念
人工智能·语言模型·自然语言处理
WiSirius31 分钟前
LLM:基于 AgentScope + Streamlit 的 AI Agent脑暴室
人工智能·深度学习·自然语言处理·大模型·llama
跨境猫小妹33 分钟前
采购交期拉长如何把补货策略从经验改为预测
大数据·人工智能·产品运营·跨境电商·营销策略
console.log('npc')37 分钟前
Cursor,Trae,Claude Code如何协作生产出一套前后台app?
前端·人工智能·react.js·设计模式·ai·langchain·ai编程