核心命令是 docker commit,仅适用于 Windows 容器模式;需先切换 Docker Desktop 至 Windows 模式,确认容器运行状态后执行 docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]],支持添加作者、说明及平台参数,生成镜像快照(不含内存、进程、临时文件),推荐用于调试而非生产交付。
在 windows 上使用 docker 命令行将正在运行的 windows 容器保存为新镜像,核心命令是 docker commit。注意:该操作仅适用于 windows 容器模式(非 linux 容器),且需确保 docker desktop 已切换到 windows 容器(右下角托盘图标右键 → “switch to windows containers”)。
确认容器正在运行且使用 Windows 容器模式
执行前先检查当前 Docker 模式和容器状态:
- 右键任务栏 Docker 图标,确认显示 “Windows containers”(不是 “Linux containers”)
- 运行
docker version,查看Server > Engine > OSType是否为windows - 用
docker ps查看目标容器 ID 或名称(例如:abc123def456或myiis)
使用 docker commit 保存为新镜像
语法格式:
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
常用示例:
- 基础提交:
docker commit abc123def456 myapp:latest - 添加作者和说明:
docker commit -a "John Doe" -m "Added custom config and app files" abc123def456 myapp:v1.2 - 指定平台(显式声明,避免后续拉取问题):
docker commit --platform windows/amd64 abc123def456 myapp:v1.2
✅ 提交成功后,用 docker images 可看到新镜像(如 myapp)。
验证与注意事项
保存后建议立即验证镜像可用性:
- 运行新镜像测试:
docker run --rm -it myapp:latest cmd /c "echo Hello from saved image!" - Windows 容器不支持保存时自动继承原镜像的 ENTRYPOINT/CMD 外部覆盖逻辑,若原容器靠外部命令启动,新镜像可能需手动指定启动命令
- commit 生成的是“快照”,不会包含容器内临时文件系统(如
C:\Temp中未持久化的数据)或已删除文件 - 生产环境更推荐用
Dockerfile构建可复现镜像,commit更适合调试、快速打包临时变更
导出镜像供离线使用(可选)
若需备份或迁移,可将镜像保存为 tar 文件:
docker save -o myapp-v1.2.tar myapp:v1.2- 另一台 Windows 机器上加载:
docker load -i myapp-v1.2.tar
注意:tar 包含完整镜像层,体积较大;确保目标机器也运行 Windows 容器模式且系统版本兼容(如 Server 2019 / 2022 / Windows 10/11 企业版/专业版)。


















