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
相关推荐
homelook1 小时前
Transformer与电池管理系统(BMS)的结合是当前 智能电池管理 的前沿研究方向
人工智能·深度学习·transformer
ZPC82101 小时前
docker 使用GUI ROS2
人工智能·算法·fpga开发·机器人
ssshooter1 小时前
免费和付费 AI API 选择指南
人工智能·aigc·openai
琢磨先生David1 小时前
Day1:基础入门·两数之和(LeetCode 1)
数据结构·算法·leetcode
掘金酱2 小时前
「寻找年味」 沸点活动|获奖名单公示🎊
前端·人工智能·后端
AI周红伟2 小时前
周红伟:智能体全栈构建实操:OpenClaw部署+Agent Skills+Seedance+RAG从入门到实战
大数据·人工智能·大模型·智能体
颜酱2 小时前
栈的经典应用:从基础到进阶,解决LeetCode高频栈类问题
javascript·后端·算法
Wishell20152 小时前
人工智能中卷积
人工智能
多恩Stone2 小时前
【C++入门扫盲1】C++ 与 Python:类型、编译器/解释器与 CPU 的关系
开发语言·c++·人工智能·python·算法·3d·aigc