Ubuntu 26.04 Docker 部署 ComfyUI (NVIDIA GPU) 完整教程
Ubuntu 26.04 Docker 部署 ComfyUI (NVIDIA GPU) 完整教程

部署环境: Ubuntu 26.04 · NVIDIA RTX 3090 24GB · Driver 580.159.03 · CUDA 13.0
最终效果: ComfyUI 0.15.1 + PyTorch 2.10.0 (cu130) 容器化运行,Web UI 端口 8188
离线友好: 所有大文件均提供独立下载地址,可在网络好的设备预下载后拷贝
1. 下载与环境预备
1.1 环境概览与硬件要求
| 组件 | 本次实际版本 | 最低要求 |
|---|---|---|
| 操作系统 | Ubuntu 26.04 | Ubuntu 22.04+ |
| NVIDIA 驱动 | 580.159.03 | ≥ 570 (支持 CUDA 13.x) |
| CUDA | 13.0 (驱动自带) | ≥ 12.4 |
| Docker | 29.1.3 | ≥ 24.0 |
| NVIDIA Container Toolkit | 1.19.1 | ≥ 1.14 |
| GPU 显存 | 24 GB | ≥ 8 GB(视模型而定) |
| 磁盘空间 | ~15 GB(镜像) | ≥ 50 GB 推荐(含模型) |
说明: 本文以离线/弱网环境友好为原则——每一步都列出了可独立下载的地址,可以在网络好的机器上提前下载,再通过 U 盘/局域网拷贝到目标设备安装。
1.2 源码项目 — 提前下载
| 项目 | 地址 | 说明 |
|---|---|---|
| comfyui-docker | https://github.com/seanwen86/comfyui-docker | ComfyUI Docker 部署项目,内置多阶段构建(devel/release) |
# 在线克隆(网络好时)
git clone https://github.com/seanwen86/comfyui-docker.git /tmp/comfyui-docker
# 离线方式:在有网的机器下载 ZIP 后拷贝
wget https://github.com/seanwen86/comfyui-docker/archive/refs/heads/main.zip -O comfyui-docker.zip
1.3 NVIDIA 显卡驱动
| 用途 | 下载/查询地址 |
|---|---|
| 驱动下载(官网) | https://www.nvidia.com/download/index.aspx |
| 驱动下载(Unix 归档) | https://www.nvidia.com/en-us/drivers/unix/ |
| CUDA 兼容性查询 | https://docs.nvidia.com/deploy/cuda-compatibility/ |
# 查看当前驱动版本 & 支持的最高 CUDA
nvidia-smi
# 输出示例:Driver Version: 580.159.03 CUDA Version: 13.0
⚠️ 注意: CUDA 版本显示的是驱动支持的最高版本,不是系统已安装的 CUDA Toolkit 版本。Docker 容器内 CUDA Toolkit 为 13.1(devel 阶段),PyTorch 使用 cu130。驱动版本 ≥ 570 即可兼容 CUDA 13.x。
# Ubuntu 驱动安装(联网)
sudo apt update
sudo apt install nvidia-driver-580 -y
sudo reboot
# 或使用 .run 文件离线安装(提前下载)
chmod +x NVIDIA-Linux-x86_64-580.159.03.run
sudo ./NVIDIA-Linux-x86_64-580.159.03.run --no-opengl-files
1.4 CUDA Toolkit(仅 devel 构建需要)
| 用途 | 下载地址 |
|---|---|
| CUDA Toolkit 下载 | https://developer.nvidia.com/cuda-downloads |
| CUDA 仓库(wget 直链) | https://developer.download.nvidia.cn/compute/cuda/repos/ |
# 离线下载 CUDA keyring(Docker 构建会用到)
wget https://developer.download.nvidia.cn/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb
说明: release 阶段镜像不需要安装 CUDA Toolkit,只需 NVIDIA 驱动 + Container Toolkit。只有 devel 阶段(编译自定义节点)才需要完整 CUDA Toolkit(13.1)。本教程使用的 release 镜像已从 devel 阶段复制了所有 Python 包,无需额外安装 CUDA。
1.5 Docker Engine — 提前下载
| 用途 | 下载地址 |
|---|---|
| Docker 官方文档 | https://docs.docker.com/engine/install/ubuntu/ |
| .deb 包归档(离线安装) | https://download.docker.com/linux/ubuntu/dists/ |
# 在线安装(Ubuntu 直接使用系统仓库版本)
sudo apt install docker.io docker-compose-v2 -y
# 离线安装:在有网的同架构机器上
apt download docker.io docker-compose-v2
# 得到 .deb 文件后拷贝到目标机器
sudo dpkg -i *.deb
sudo apt install -f -y
1.6 NVIDIA Container Toolkit — 提前下载
⚠️ 注意: Ubuntu 26.04 目前不在 NVIDIA 官方 apt 仓库的支持列表中,必须从 GitHub Releases 下载 deb 包手动安装。本教程使用 v1.19.1 版本,已验证兼容。
# 提前下载(在任何有网的机器上)
wget https://github.com/NVIDIA/nvidia-container-toolkit/releases/download/v1.19.1/nvidia-container-toolkit_1.19.1_deb_amd64.tar.gz
# 解压后包含以下 deb 包(按顺序安装)
tar -xzf nvidia-container-toolkit_1.19.1_deb_amd64.tar.gz
ls */ubuntu18.04/
# libnvidia-container1_1.19.1-1_amd64.deb
# libnvidia-container-tools_1.19.1-1_amd64.deb
# nvidia-container-toolkit-base_1.19.1-1_amd64.deb
# nvidia-container-toolkit_1.19.1-1_amd64.deb
1.7 Docker 基镜像 — 提前拉取(离线迁移必备)
# 在有网的机器上提前拉取
docker pull ubuntu:24.04
docker pull nvidia/cuda:13.0-base-ubuntu24.04 # 可选,GPU 验证用
# 导出为 tar 文件
docker save ubuntu:24.04 -o ubuntu-24.04.tar
# 拷贝到目标机器后导入
docker load -i ubuntu-24.04.tar
1.8 最终 ComfyUI 镜像 — 导出与迁移
# 在构建好的机器上导出
docker save comfyui:release -o comfyui-release.tar
# 约 13.4 GB,可压缩
gzip comfyui-release.tar
# 拷贝到目标机器后导入
gunzip -c comfyui-release.tar.gz | docker load
2. 安装部署
2.1 前置检查
# 确认 NVIDIA 驱动已安装
nvidia-smi
# 确认 Docker 已安装
docker --version
2.2 安装 NVIDIA Container Toolkit
# === 离线方式(推荐,将提前下载的 tar.gz 拷贝到目标机器)===
# 1. 解压
tar -xzf nvidia-container-toolkit_1.19.1_deb_amd64.tar.gz
cd nvidia-container-toolkit_1.19.1_deb_amd64/repos/ubuntu18.04/amd64/
# 2. 按依赖顺序依次安装
sudo dpkg -i libnvidia-container1_1.19.1-1_amd64.deb
sudo dpkg -i libnvidia-container-tools_1.19.1-1_amd64.deb
sudo dpkg -i nvidia-container-toolkit-base_1.19.1-1_amd64.deb
sudo dpkg -i nvidia-container-toolkit_1.19.1-1_amd64.deb
# 3. 配置 Docker 运行时
sudo nvidia-ctk runtime configure --runtime=docker
# 4. 重启 Docker
sudo systemctl restart docker
# 5. 验证 GPU 在 Docker 中可见
sudo docker run --rm --gpus all nvidia/cuda:13.0-base-ubuntu24.04 nvidia-smi
# 若没有 nvidia/cuda 镜像,也可用
sudo docker info | grep -A1 "CDI devices"
⚠️ 注意:
nvidia-ctk runtime configure会覆写/etc/docker/daemon.json。如果你之前配置了 registry-mirrors 等参数,执行后需手动合并。
2.3 配置 Docker 代理(国内网络环境)
# 1. 配置 Docker daemon 代理(用于 docker pull)
sudo mkdir -p /etc/systemd/system/docker.service.d
sudo tee /etc/systemd/system/docker.service.d/proxy.conf << 'EOF'
[Service]
Environment="HTTP_PROXY=http://你的代理IP:端口"
Environment="HTTPS_PROXY=http://你的代理IP:端口"
Environment="NO_PROXY=localhost,127.0.0.1,192.168.0.0/16"
EOF
# 2. 重载配置并重启
sudo systemctl daemon-reload
sudo systemctl restart docker
# 3. 验证代理是否生效
sudo docker pull ubuntu:24.04
说明: 本次部署实际代理地址为
192.168.50.238:10808(HTTP 代理)。registry-mirrors 镜像源不稳定,推荐通过 HTTP 代理直连 Docker Hub。
2.4 拉取项目与构建镜像
# 1. 克隆项目(或解压提前下载的 ZIP)
git clone https://github.com/seanwen86/comfyui-docker.git /tmp/comfyui-docker
cd /tmp/comfyui-docker
# 2. 创建数据目录(宿主机持久化路径)
sudo mkdir -p /mnt/models/ComfyuiUserData/{models,input,output,custom_nodes,workflows}
sudo chmod -R 777 /mnt/models/ComfyuiUserData
# 3. 创建 docker-compose.yml(含代理 build args)
tee docker-compose.yml << 'EOF'
services:
comfyui:
build:
context: .
target: release
args:
- HTTP_PROXY=http://192.168.50.238:10808
- HTTPS_PROXY=http://192.168.50.238:10808
- NO_PROXY=localhost,127.0.0.1,mirrors.aliyun.com
image: comfyui:release
container_name: comfyui
ports:
- "8188:8188"
volumes:
- /mnt/models/ComfyuiUserData/models:/workspace/ComfyUI/models
- /mnt/models/ComfyuiUserData/input:/workspace/ComfyUI/input
- /mnt/models/ComfyuiUserData/output:/workspace/ComfyUI/output
- /mnt/models/ComfyuiUserData/custom_nodes:/workspace/ComfyUI/custom_nodes
- /mnt/models/ComfyuiUserData/workflows:/workspace/ComfyUI/user/default/workflows
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [gpu]
restart: unless-stopped
EOF
# 4. 构建镜像(约 20-40 分钟,取决于网络和配置)
sudo docker compose build
# 5. 启动容器
sudo docker compose up -d
# 6. 查看日志确认启动
sudo docker logs -f comfyui
# 看到 "To see the GUI go to: http://0.0.0.0:8188" 表示成功
构建产物: comfyui:release 镜像约 13.4 GB,包含:
- Ubuntu 24.04 基镜像
- PyTorch 2.10.0 + CUDA 13.0(torch ~641MB,torchaudio ~4MB,torchvision ~2MB)
- ComfyUI 0.15.1 + 社区插件集(220+ custom nodes)
- ffmpeg、OpenCV、espeak-ng 等运行时依赖
2.5 目录职责说明
| 宿主机路径 | 容器内路径 | 用途 |
|---|---|---|
/mnt/models/ComfyuiUserData/models |
/workspace/ComfyUI/models |
模型文件(checkpoints、VAE、LoRA、ControlNet 等) |
/mnt/models/ComfyuiUserData/input |
/workspace/ComfyUI/input |
输入图片/视频 |
/mnt/models/ComfyuiUserData/output |
/workspace/ComfyUI/output |
生成结果输出 |
/mnt/models/ComfyuiUserData/custom_nodes |
/workspace/ComfyUI/custom_nodes |
自定义节点(可追加安装) |
/mnt/models/ComfyuiUserData/workflows |
/workspace/ComfyUI/user/default/workflows |
工作流 JSON 文件 |
说明: 模型文件放入
/mnt/models/ComfyuiUserData/models/下的对应子目录即可:checkpoints/、vae/、loras/、controlnet/、clip/等。ComfyUI 会自动扫描识别。
2.6 等价的 docker run 命令
sudo docker run -d \
--name comfyui \
--gpus all \
--restart unless-stopped \
-p 8188:8188 \
-v /mnt/models/ComfyuiUserData/models:/workspace/ComfyUI/models \
-v /mnt/models/ComfyuiUserData/input:/workspace/ComfyUI/input \
-v /mnt/models/ComfyuiUserData/output:/workspace/ComfyUI/output \
-v /mnt/models/ComfyuiUserData/custom_nodes:/workspace/ComfyUI/custom_nodes \
-v /mnt/models/ComfyuiUserData/workflows:/workspace/ComfyUI/user/default/workflows \
comfyui:release
3. 备份、复制与迁移
3.1 方案对比
| 方案 | 耗时 | 适用场景 | 传输大小 |
|---|---|---|---|
| A. docker save/load | 导出~3min + 拷贝 + 导入~3min | 完全离线、批量部署多台机器 | ~13.4 GB(可 gzip 压缩) |
| B. docker compose build | ~20-40min | 每台独立构建、网络尚可 | 仅项目源码 ~50MB |
| C. 私有 Registry | push~5min + pull~5min | 企业内部多机、持续交付 | ~13.4 GB(仅首次全量) |
3.2 方案 A:docker save/load(推荐离线迁移)
# ======== 源机器(已构建完成)========
# 1. 导出镜像
sudo docker save comfyui:release -o comfyui-release.tar
# 2. 压缩(可选,减少传输体积)
gzip comfyui-release.tar
# 约 13.4GB → 约 8-10GB
# 3. 拷贝到目标机器(任选一种)
scp comfyui-release.tar.gz user@目标IP:/tmp/
# 或用 U 盘、Samba 共享等方式
# ======== 目标机器 ========
# 4. 导入镜像
gunzip -c /tmp/comfyui-release.tar.gz | sudo docker load
# 5. 确认导入成功
sudo docker images comfyui:release
# 6. 创建数据目录和 compose 文件(注意:去掉 build 部分)
tee docker-compose.yml << 'EOF'
services:
comfyui:
image: comfyui:release
container_name: comfyui
ports:
- "8188:8188"
volumes:
- /mnt/models/ComfyuiUserData/models:/workspace/ComfyUI/models
- /mnt/models/ComfyuiUserData/input:/workspace/ComfyUI/input
- /mnt/models/ComfyuiUserData/output:/workspace/ComfyUI/output
- /mnt/models/ComfyuiUserData/custom_nodes:/workspace/ComfyUI/custom_nodes
- /mnt/models/ComfyuiUserData/workflows:/workspace/ComfyUI/user/default/workflows
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [gpu]
restart: unless-stopped
EOF
# 7. 启动
sudo docker compose up -d
3.3 方案 B:docker compose build 离线构建
说明: 如果想在无网或弱网的目标机器上构建,可提前在有网机器上下载好所有依赖(deb 包、pip wheel、基础镜像),拷贝后搭建本地局域网 HTTP 代理实现离线构建。
| 离线依赖 | 预下载方法 |
|---|---|
| Docker 基镜像 ubuntu:24.04 | docker pull ubuntu:24.04 && docker save -o ubuntu.tar ubuntu:24.04 |
| PyTorch wheel 文件 | 在 https://download.pytorch.org/whl/cu130/ 下载 torch、torchaudio、torchvision |
| NVIDIA CUDA 仓库 | https://developer.download.nvidia.cn/compute/cuda/repos/ubuntu2404/x86_64/ |
| APT 依赖包 | 用 apt download 或在 http://mirrors.aliyun.com/ubuntu/pool/ 手动下载 |
| pip 依赖包 | pip download -r requirements.txt -d ./pip-offline |
| ComfyUI 源码 (.tar.gz) | https://github.com/comfyanonymous/ComfyUI/releases |
3.4 模型文件迁移
# 模型目录直接 rsync 或拷贝
rsync -avP /mnt/models/ComfyuiUserData/models/ user@目标IP:/mnt/models/ComfyuiUserData/models/
# 或打包传输
tar -czf comfyui-models.tar.gz -C /mnt/models/ComfyuiUserData models/
scp comfyui-models.tar.gz user@目标IP:/tmp/
ComfyUI 常用模型下载站点:
- CivitAI — 社区模型(SD/Flux checkpoints、LoRA、VAE)
- HuggingFace — 官方发布模型(Stability AI、Meta 等)
3.5 完整迁移检查清单
- NVIDIA 驱动(≥ 570)
- Docker Engine
- NVIDIA Container Toolkit (v1.19.1)
- 导入 comfyui:release 镜像(方案 A)或项目源码 + 离线依赖(方案 B)
- 创建数据目录
/mnt/models/ComfyuiUserData/ - 拷贝模型文件到
models/子目录 - 配置 docker-compose.yml 并
docker compose up -d - 访问
http://目标IP:8188验证
部署环境:Ubuntu 26.04 / NVIDIA RTX 3090 24GB / Driver 580.159.03
容器技术栈:Docker 29.1.3 + NVIDIA Container Toolkit 1.19.1 + comfyui-docker (seanwen86)
构建时间:2026-06-07
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)