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 — 提前下载

用途 下载地址
GitHub Releases(推荐) https://github.com/NVIDIA/nvidia-container-toolkit/releases
v1.19.1 deb 包直链 https://github.com/NVIDIA/nvidia-container-toolkit/releases/download/v1.19.1/nvidia-container-toolkit_1.19.1_deb_amd64.tar.gz
官方 apt 源(仅限已支持的发行版) https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html

⚠️ 注意: 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

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐