主题
本地 Linux 安装部署
在本地 Linux 电脑上运行 ComfyCarry 时,系统通过 Docker 容器承载完整的 Python、CUDA 和 ComfyUI 环境,并借助 NVIDIA Container Toolkit 让容器直接使用主机显卡。只要主机装好满足版本要求的 NVIDIA 驱动与 Docker 环境,就可以用一条命令启动 ComfyCarry 并把模型与生成结果保存在本地存储中。
下面的安装命令适用于 Ubuntu 22.04、24.04 和 26.04。使用其他 Linux 发行版时,先按发行版对应的官方说明安装 Docker Engine 和 NVIDIA Container Toolkit,再从验证 Docker 的 GPU 支持继续。硬件与空间要求见部署前准备。
检查 NVIDIA 驱动
在终端中运行:
bash
nvidia-smi命令应显示 GPU 名称和驱动版本。ComfyCarry 镜像使用 CUDA 13.0,Linux 主机驱动版本需要达到 580.65.06 或更高。运行所需的 CUDA 组件已经包含在镜像中,主机只安装显卡驱动和下面的 NVIDIA Container Toolkit 即可把 GPU 提供给容器。
驱动安装方法见 NVIDIA Ubuntu 驱动安装说明,版本要求见 CUDA 13.0 Release Notes。
安装 Docker Engine
这台电脑如果以前通过 Ubuntu 软件源安装过 docker.io、containerd 或其他 Docker 组件,先按 Docker 官方说明处理可能冲突的软件包,再添加下面的官方软件源。全新系统可以直接继续。
添加 Docker 官方软件源:
bash
sudo apt update
sudo apt install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
-o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
sudo tee /etc/apt/sources.list.d/docker.sources > /dev/null <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF安装并启动 Docker:
bash
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io \
docker-buildx-plugin docker-compose-plugin
sudo systemctl enable --now docker
sudo docker run --rm hello-world最后一条命令显示 Docker 的欢迎信息,说明 Docker Engine 已经可以正常创建容器。安装步骤更新时,可以对照 Docker Engine Ubuntu 安装说明。
安装 NVIDIA Container Toolkit
NVIDIA Container Toolkit 让 Docker 容器能够使用主机上的 GPU。添加 NVIDIA 软件源并安装:
bash
sudo apt-get update
sudo apt-get install -y --no-install-recommends ca-certificates curl gnupg2
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey \
| sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list \
| sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' \
| sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit把 NVIDIA GPU 支持加入 Docker,并重新启动 Docker:
bash
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker完整安装说明见 NVIDIA Container Toolkit。
验证 Docker 的 GPU 支持
bash
sudo docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi命令会临时启动一个 Ubuntu 容器。输出中应出现与主机一致的 GPU 名称;看到 NVIDIA-SMI、驱动版本和显卡信息后,Docker 的 GPU 环境已经准备完成。
启动 ComfyCarry
bash
sudo docker run -d \
--name comfycarry \
--gpus all \
--restart unless-stopped \
-p 5000:5000 \
-p 8188:8188 \
-p 8888:8888 \
-p 2222:22 \
-v comfycarry-workspace:/workspace \
erocraft/comfycarry:latest| 命令内容 | 作用 | 什么时候调整 |
|---|---|---|
docker run -d | 创建容器,并让它在后台持续运行 | 排查启动问题时可以暂时省略 -d,让启动日志直接显示在当前终端 |
--name comfycarry | 把容器命名为 comfycarry,方便以后启动、停止和查看 | 同一台电脑运行多个实例时,为每个实例使用不同名称 |
--gpus all | 把主机上的全部 NVIDIA GPU 提供给 ComfyCarry | 只使用第 1 张时,改为 --gpus '"device=0"';使用第 1、2 张时改为 --gpus '"device=0,1"'。显卡从 0 开始编号,可用 nvidia-smi 查看顺序 |
--restart unless-stopped | 电脑重启或 Docker 服务恢复后自动启动 ComfyCarry;手动停止的容器保持停止 | 希望每次都由自己启动时,移除此项 |
-p 5000:5000 | 通过主机的 5000 端口打开 ComfyCarry | 5000 已被占用时,可改为 -p 15000:5000,访问地址随之改成 http://localhost:15000 |
-p 8188:8188 | 通过主机的 8188 端口打开 ComfyUI | 端口被占用时只修改左侧,例如 -p 18188:8188;需要使用 localhost 或局域网地址打开 ComfyUI 时保留 |
-p 8888:8888 | 通过主机的 8888 端口打开 JupyterLab | 准备通过 localhost 或局域网地址使用 JupyterLab 时保留;主机端口可按相同方式更换 |
-p 2222:22 | 通过主机的 2222 端口连接容器 SSH | SSH 客户端连接时使用左侧端口;平台已经提供 SSH 时,以平台分配的端口为准 |
-v comfycarry-workspace:/workspace | 使用名为 comfycarry-workspace 的 Docker Volume 保存模型和生成文件 | 想把文件放在指定目录时,将左侧改成主机绝对路径,例如 /data/comfycarry:/workspace |
erocraft/comfycarry:latest | 使用当前发布的 x86_64 镜像 | 在 ARM64 架构主机上运行时改为 erocraft/comfycarry:arm;需要固定版本时换成对应标签 |
容器启动后,可以查看首次启动进度:
bash
sudo docker logs -f comfycarry日志开始持续输出后,按 Ctrl+C 返回终端;容器会继续在后台运行。在浏览器中打开 http://localhost:5000,页面出现 ComfyCarry 部署向导后,即可继续完成首次部署向导。