docker commit 可将运行中或已停止的容器快速保存为新镜像,适用于调试、临时备份和环境复现;需先通过 docker ps 或 docker ps -a 获取容器 id 或名称,再执行 docker commit 命令并指定镜像名与标签,支持添加作者、说明、启动命令等选项,提交后应验证镜像并测试功能。

直接用 docker commit 命令就能把运行中或已停止的容器保存为新镜像,这是最快速的“运行期快照”方式,适合调试、临时备份或环境复现。
确认目标容器
先查出你要保存的容器 ID 或名字:
- 查看所有容器(含已停止的):docker ps -a
- 只看正在运行的:docker ps
记下容器的 CONTAINER ID 或 NAMES 列内容,比如 f8a2b1c 或 myapp-dev。
执行 commit 提交操作
语法很简单:
在 Linux 上通过 Docker 运行 OpenClaw,并使用 Tailscale 实现远程访问。⚠️ 涉及 sudo、Docker、Tailscale和凭证挂载——请先查阅安全章节...
常用组合示例:
- 基础提交:docker commit myapp-dev myweb:v1
- 带作者和说明:docker commit -a "dev@team.com" -m "added nginx config and test page" myapp-dev myweb:v1
- 指定默认启动命令:docker commit --change 'CMD ["nginx", "-g", "daemon off;"]' myapp-dev myweb:v1
- 容器正在运行且不能暂停(如日志服务):docker commit --pause=false myapp-dev myweb:v1
验证与导出(可选)
提交完成后别跳过验证:
- 列出本地镜像,确认生成成功:docker images | grep myweb
- 立即起一个新容器测试功能:docker run -d -p 8080:80 --name test-v1 myweb:v1
- 浏览器访问 http://localhost:8080 看是否保留了修改
- 如需迁移或备份,可导出为 tar 文件:docker save -o myweb-v1.tar myweb:v1
后续建议
提交得到的镜像是可用的,但要注意:
- 它不包含构建过程记录,难以复现和审计,生产环境仍推荐用 Dockerfile
- 原容器若只是临时调试用,验证后建议删掉:docker rm myapp-dev
- 镜像名和标签尽量有意义,比如结合项目、环境、变更点(如 api-prod-patch202608)










