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
相关推荐
Lee川40 分钟前
mini-cursor 揭秘:从 Tool 定义到 Agent 循环的完整实现
前端·人工智能·后端
weelinking1 小时前
【产品】00_产品经理用Claude实现产品系列介绍
数据库·人工智能·sql·数据挖掘·github·产品经理
Dlrb12111 小时前
C语言-指针三
c语言·算法·指针·const·命令行参数
Agent产品评测局1 小时前
制造业模具管理AI系统,主流产品能力对比详解:2026年智能制造选型深度洞察
人工智能·ai·chatgpt·制造
Tisfy1 小时前
LeetCode 2540.最小公共值:双指针(O(m+n))
算法·leetcode·题解·双指针
IronMurphy1 小时前
【算法四十七】152. 乘积最大子数组
算法
研华科技Advantech2 小时前
如何用一套实训设备,打通工业AI预测性维护技术全流程?
人工智能
Lab_AI2 小时前
AI for Science: MaXFlow AI Agent+ 报告体验双升级,让AI智能体更高效易用!
人工智能·ai for science·ai agent·ai智能体
李坤2 小时前
让 Codex 和 Claude 互相 Review:告别手动复制
人工智能·openai·claude
南屹川2 小时前
【API设计】GraphQL实战:从REST到GraphQL的演进
人工智能