使用Docker部署Fooocus图像生成工具的完整指南
2025-07-05 01:49:58作者:盛欣凯Ernestine
前言
Fooocus是一款基于先进AI技术的图像生成工具,它能够根据文本描述自动生成高质量的图像。使用Docker容器化部署Fooocus可以大大简化安装和配置过程,确保环境一致性,并方便在不同系统间迁移。本文将详细介绍如何使用Docker部署Fooocus。
系统要求
在开始部署前,请确保您的系统满足以下要求:
-
硬件要求:
- 支持CUDA的NVIDIA显卡
- 已安装专有NVIDIA驱动程序
- 足够的内存和存储空间
-
软件要求:
- Docker引擎(或Podman作为替代)
- Docker Compose(可选)
快速开始
使用Docker Compose部署
这是最简单的部署方式,适合大多数用户:
- 获取Fooocus项目文件
- 在项目目录中执行以下命令:
docker compose up
直接使用Docker运行
如果您需要更多自定义配置,可以直接使用Docker命令:
docker run -p 7865:7865 -v fooocus-data:/content/data -it \
--gpus all \
-e CMDARGS=--listen \
-e DATADIR=/content/data \
-e config_path=/content/data/config.txt \
-e config_example_path=/content/data/config_modification_tutorial.txt \
-e path_checkpoints=/content/data/models/checkpoints/ \
-e path_loras=/content/data/models/loras/ \
-e path_embeddings=/content/data/models/embeddings/ \
-e path_vae_approx=/content/data/models/vae_approx/ \
-e path_upscale_models=/content/data/models/upscale_models/ \
-e path_inpaint=/content/data/models/inpaint/ \
-e path_controlnet=/content/data/models/controlnet/ \
-e path_clip_vision=/content/data/models/clip_vision/ \
-e path_fooocus_expansion=/content/data/models/prompt_expansion/fooocus_expansion/ \
-e path_outputs=/content/app/outputs/ \
ghcr.io/lllyasviel/fooocus
使用Podman运行
对于使用Podman的用户,可以使用以下命令:
podman run -p 7865:7865 -v fooocus-data:/content/data -it \
--security-opt=no-new-privileges --cap-drop=ALL --security-opt label=type:nvidia_container_t --device=nvidia.com/gpu=all \
-e CMDARGS=--listen \
-e DATADIR=/content/data \
-e config_path=/content/data/config.txt \
-e config_example_path=/content/data/config_modification_tutorial.txt \
-e path_checkpoints=/content/data/models/checkpoints/ \
-e path_loras=/content/data/models/loras/ \
-e path_embeddings=/content/data/models/embeddings/ \
-e path_vae_approx=/content/data/models/vae_approx/ \
-e path_upscale_models=/content/data/models/upscale_models/ \
-e path_inpaint=/content/data/models/inpaint/ \
-e path_controlnet=/content/data/models/controlnet/ \
-e path_clip_vision=/content/data/models/clip_vision/ \
-e path_fooocus_expansion=/content/data/models/prompt_expansion/fooocus_expansion/ \
-e path_outputs=/content/app/outputs/ \
ghcr.io/lllyasviel/fooocus
当控制台显示Use the app with http://0.0.0.0:7865/
时,即可在浏览器中访问该URL使用Fooocus。
容器内部路径结构
了解容器内部的路径结构有助于更好地管理模型和输出文件:
路径 | 说明 |
---|---|
/content/app | 应用程序主目录 |
/content/app/models.org | 原始模型目录,容器启动时会复制到/content/app/models |
/content/data | 持久化数据挂载点 |
/content/data/models | 模型目录,链接到/content/app/models |
/content/data/outputs | 输出目录,链接到/content/app/outputs |
高级配置
手动构建容器
如果您需要自定义构建容器,可以执行以下步骤:
- 获取Fooocus项目文件
- 在项目目录中执行:
使用Docker构建:
docker build . -t fooocus
使用Podman构建:
podman build . -t fooocus
更新容器
使用docker compose持续运行容器时,不会自动更新Fooocus版本。要更新:
- 获取最新项目文件
- 执行:
docker compose build --no-cache
docker compose up
导入现有模型和输出
如果您已有模型文件或输出文件需要导入,可以在docker-compose.yml中添加以下挂载配置:
#- ./models:/import/models # 导入完成后可移除
#- ./outputs:/import/outputs # 导入完成后可移除
容器启动后,文件将被复制到持久化目录中,之后可以移除这些挂载配置。
环境变量配置
您可以通过环境变量覆盖config.txt中的配置,这些设置优先级高于文件配置,并会保存到config_modification_tutorial.txt中。
重要的Docker专用环境变量:
环境变量 | 说明 |
---|---|
DATADIR | 数据目录位置 |
CMDARGS | 传递给entry_with_update.py的参数 |
config_path | config.txt路径 |
config_example_path | config_modification_tutorial.txt路径 |
HF_MIRROR | HuggingFace镜像站点 |
注意事项
- 输出目录位置:请确保path_outputs位于/content/app下,否则可能无法正常查看历史记录
- Mac/Windows性能:在这些系统上使用"bind mount"可能导致性能下降,建议使用Docker卷
- Apple Silicon支持:目前Docker中尚不支持MPS后端(Metal Performance Shaders)
- 后台运行:使用
docker compose up -d
可在后台运行容器,通过docker compose logs -f
查看日志
通过本文介绍的Docker部署方法,您可以轻松地在各种环境中运行Fooocus图像生成工具,享受AI创作的乐趣。