
在 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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




