这是一个基于 Docker 的 ComfyUI 持久化开发环境,支持完整的开发工具链和数据持久化。
本项目采用分阶段构建策略,每个阶段都有特定的功能:
# 启动ComfyUI(推荐方式:只挂载数据目录)
docker run -it --gpus all -p 8188:8188 \
-v $(pwd)/workspace/ComfyUI_data/custom_nodes:/workspace/ComfyUI/custom_nodes \
-v $(pwd)/workspace/ComfyUI_data/models:/workspace/ComfyUI/models \
-v $(pwd)/workspace/ComfyUI_data/output:/workspace/ComfyUI/output \
-v $(pwd)/workspace/ComfyUI_data/input:/workspace/ComfyUI/input \
-v $(pwd)/workspace/ComfyUI_data/workflows:/workspace/ComfyUI/workflows \
-v $(pwd)/workspace/Python_env:/workspace/Python_env \
docker.cnb.cool/like8522/comfyui_env_etherealheart:V3 /workspace/scripts/start_comfyui.sh
docker run -it --gpus all -p 8080:8080 -v $(pwd)/workspace:/workspace docker.cnb.cool/like8522/comfyui_env_etherealheart:V3 code-server
/workspace/ComfyUI/ - ComfyUI 主体(镜像中,通过更新镜像更新)/workspace/ComfyUI_data/ - ComfyUI 数据存储(持久化)/workspace/Python_env/ - Python 虚拟环境(持久化)/workspace/scripts/ - 辅助脚本项目包含以下实用脚本:
/workspace/scripts/setup_env.sh - 环境初始化脚本/workspace/scripts/start_comfyui.sh - ComfyUI启动脚本/workspace/scripts/entrypoint.sh - 容器入口点脚本/workspace/build_and_push.sh - 镜像构建和推送脚本使用提供的脚本可以自动化构建和推送各个阶段的镜像:
# 构建并推送阶段3的镜像
./build_and_push.sh 3
# 只构建阶段3的镜像,不推送
./build_and_push.sh --no-push 3
# 查看帮助
./build_and_push.sh --help
采用程序与数据分离的策略: