暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

把正在运行的容器打包成镜像image

运维笔谈 2025-05-03
1513

 

在 Docker 中,如果我们想将一个正在运行的容器保存为 .tar
 文件(即镜像文件),可以使用 docker commit
 + docker save
 的组合来完成。PS:这是非标准做法,建议还是Dockerfile方式创建镜像。

步骤说明

🔹 1. 获取容器的 ID 或名称

docker ps

输出示例:

CONTAINER ID   IMAGE         COMMAND       CREATED        STATUS       PORTS       NAMES
abc123456789   ubuntu:22.04 "/bin/bash"   10 minutes ago Up 10 mins               my-running-container

记住 CONTAINER ID
 或 NAMES
 列中的名字(如 abc123456789
 或 my-running-container


🔹 2. 将容器提交(commit)为本地镜像

docker commit abc123456789 mycustomimage:latest

这相当于把当前容器的文件系统状态保存为一个新镜像,名为 mycustomimage:latest

我们可以用以下命令查看是否创建成功:

docker images

输出中应包含:

REPOSITORY           TAG       IMAGE ID       ...
mycustomimage        latest    xyz987654321   ...


🔹 3. 使用 docker save
 将镜像保存为 .tar
 文件

docker save -o mycustomimage_latest.tar mycustomimage:latest

这会生成一个名为 mycustomimage_latest.tar
 的 tar 包,里面包含完整的镜像信息。


完整命令流程示例

# 查看运行中的容器
docker ps

# 假设容器 ID 是 abc123456789
docker commit abc123456789 mycustomimage:latest

# 保存为 .tar 文件
docker save -o mycustomimage_latest.tar mycustomimage:latest


恢复镜像或容器的方法

我们在另一台机器上要恢复这个 .tar
 文件:

docker load -i mycustomimage_latest.tar

然后就运行了:

docker run -it mycustomimage:latest bin/bash


 

我把收集的一些IT运维资料做了关键字回复,可以获取云盘下载地址。

文章转载自运维笔谈,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论