Docker镜像和必要文件打包,备份与恢复
我们终于完成了ComfyUI唇同步服务的生产级部署,现在需要将成果保存并迁移。核心任务是:将Docker镜像和必要文件打包,解决E盘空间不足问题,并提供在新电脑上的恢复指南。考虑到你的E盘只剩5GB,而完整的Docker镜像可能超过20GB,必须直接使用F盘进行操作。
以下是经过验证的、可执行的保存与恢复方案。
1. 保存当前成果到F盘
由于Docker镜像体积庞大,我们将其导出为.tar文件,直接存放到空间充裕的F盘。同时将整个项目文件夹也备份过去。
在PowerShell中执行以下命令(请逐条复制执行):
# 进入G盘,创建备份目录
cd G:\
New-Item -ItemType Directory -Force -Path ".\Flower_AI_Backup"
# 将整个项目文件夹复制到F盘备份目录(确保包含data目录结构)
Copy-Item -Path "E:\My_Dream_2026_4_7\Flower_AI\*" -Destination "G:\Flower_AI_Backup\" -Recurse -Force
# 导出Docker镜像到F盘(此步骤耗时较长,取决于镜像大小,通常在5-10分钟)
docker save -o G:\Flower_AI_Backup\flower-ai-comfy-lipsync.tar flower-ai/comfy-lipsync:latest
docker save -o G:\Flower_AI_Backup\flower-ai-comfy-chattts.tar flower-ai/comfy-chattts:latest
docker save -o G:\Flower_AI_Backup\flower-ai-ollama.tar ollama/ollama:latest
docker save -o G:\Flower_AI_Backup\flower-ai-cosyvoice.tar flower-ai/cosyvoice:latest
# 备份docker-compose配置(已包含在上面的项目复制中,此步骤可选)
# Copy-Item "E:\My_Dream_2026_4_7\Flower_AI\docker-compose.yml" -Destination "F:\Flower_AI_Backup\"
执行后检查F盘,确保以下内容存在:
-
F:\Flower_AI_Backup\flower-ai-comfy-lipsync.tar (镜像文件,大约15-25GB)
-
F:\Flower_AI_Backup\ 目录下包含完整的项目文件(Dockerfile、docker-compose.yml、data目录结构等)
2. 在新电脑上恢复环境
假设新电脑的D盘有足够空间,我们将项目恢复到D:\Flower_AI。确保新电脑已安装Docker Desktop、NVIDIA驱动(>=555.xx)并启用WSL2。
步骤一:准备项目目录
在新电脑上创建项目目录(以D盘为例)
New-Item -ItemType Directory -Force -Path "D:\Flower_AI"
# 将备份的项目文件(除.tar外)复制到新目录
# 你可以通过U盘或网络传输F:\Flower_AI_Backup内的所有非.tar文件到新电脑的D:\Flower_AI
# 假设你已将备份文件夹整个复制到D:\Flower_AI_Backup
Copy-Item -Path "D:\Flower_AI_Backup\*" -Destination "D:\Flower_AI\" -Exclude "*.tar" -Recurse -Force
步骤二:导入Docker镜像
# 导入之前导出的镜像
docker load -i D:\Flower_AI_Backup\flower-ai-comfy-lipsync.tar
步骤三:检查模型文件
由于镜像不包含模型文件(我们遵循了"模型挂载"原则),你需要确保D:\Flower_AI\data\models目录下有之前下载的所有模型文件。建议将原电脑E:\My_Dream_2026_4_7\Flower_AI\data\models整个目录复制到新电脑的对应位置。
步骤四:创建必要目录并启动
cd D:\Flower_AI
# 创建运行时需要的可写目录(如果复制时未包含空目录)
New-Item -ItemType Directory -Force -Path ".\data\models\reactor", ".\data\models\facedetection", ".\data\output\lipsync", ".\data\workflows"
# 启动服务
docker compose up -d comfy-lipsync
3. 关于E盘空间不足的处理
现在你的E盘只剩5GB,建议立即清理以维持系统稳定:
# 清理Docker构建缓存(通常能释放数GB空间)
docker builder prune -a -f
# 清理未使用的镜像、容器、网络
docker system prune -a -f
# 删除项目中原有的ComfyUI源码备份(如果有的话),镜像已包含一切
# 但不要删除data/models目录!
4. 验证新环境是否正常
启动后检查日志,确认所有自定义节点加载成功:
docker compose logs -f comfy-lipsync | Select-String -Pattern "Wav2Lip|ReActor|VideoHelper|ERROR|OSError"
如果没有任何OSError或ModuleNotFoundError,即表示恢复成功。
📝 关键要点说明
-
镜像体积:导出的.tar文件较大,传输时请使用高速U盘或局域网共享。
-
模型文件:模型与镜像分离,这是最佳实践。你需确保模型目录结构完整复制。
-
科学上网:新电脑首次启动时,ReActor可能仍需下载facedetection模型,建议开启代理。
至此,你的AI视频生成系统已具备高度可移植性,未来迁移只需关注模型数据和镜像文件即可。
确保在清理构建缓存或镜像时不影响已运行的服务。核心原则是只删除与comfy-cosyvoice相关的构建缓存和中间镜像,保留flower-deepseek-local和comfy-lipsync的镜像与容器。
精准清理策略
只停止和删除comfy-cosyvoice容器和镜像(如果存在)
清理悬挂的构建缓存(不影响已用镜像层)
使用docker compose针对单服务操作
具体命令(按顺序执行)
cd E:\My_Dream_2026_4_7\Flower_AI
# 1. 停止并删除comfy-cosyvoice容器(如果正在运行)
docker compose stop comfy-cosyvoice
docker compose rm -f comfy-cosyvoice
# 2. 删除comfy-cosyvoice镜像(只删该镜像,不影响其他)
docker rmi flower-ai/comfy-cosyvoice:latest 2>$null
# 3. 清理构建缓存(只删未使用的构建缓存,不会动已运行容器的镜像层)
docker builder prune -f
# 4. 可选:清理所有悬空镜像(<none>:<none>),这些通常是构建失败的残留
docker image prune -f
安全构建命令
只构建comfy-cosyvoice,不影响其他服务:
docker compose build --no-cache comfy-cosyvoice
如果构建失败需要再次尝试,重复步骤1-3,然后重新构建即可。
验证其他服务未受影响
docker compose ps
docker images | findstr flower-ai
输出应显示 comfy-lipsync 和 flower-deepseek-local 容器状态为 Up,且它们的镜像标签完好。
重要提醒
绝对不要执行 docker system prune -a 或 docker image prune -a,这会删除所有未被容器使用的镜像,包括可能暂时停止的服务的镜像。
如需释放更大空间,建议单独清理 data/output/lipsync 下的旧视频文件,它们与Docker无关。
现在可以放心地反复尝试构建comfy-cosyvoice,而不会影响核心服务的稳定性。
更多推荐

所有评论(0)