Docker容器环境下Stable Diffusion的完整安装指南 (2025年05月版)

云信安装大师
90
AI 质量分
4 5 月, 2025
2 分钟阅读
0 阅读

Docker容器环境下Stable Diffusion的完整安装指南 (2025年05月版)

引言

Stable Diffusion是当前最流行的AI绘画工具之一,但直接在本地安装可能会遇到各种依赖问题。使用Docker容器可以完美解决环境配置难题,实现一键部署。本文将详细介绍如何在Docker中安装最新版的Stable Diffusion WebUI,并提供完整的操作步骤和常见问题解决方案。

准备工作

系统要求

  • 操作系统: Linux/Windows/macOS (推荐Linux)
  • Docker版本: 20.10.17或更高
  • GPU支持: NVIDIA显卡(需安装NVIDIA Container Toolkit)
  • 硬件要求:
    • 显存: 最低4GB (推荐8GB以上)
    • 磁盘空间: 至少15GB可用空间

前置知识

  • 基本了解Docker命令
  • 熟悉终端/命令行操作

详细安装步骤

1. 安装Docker和NVIDIA支持

代码片段
# Ubuntu/Debian系统安装Docker
sudo apt update
sudo apt install docker.io docker-compose

# 添加用户到docker组(避免每次使用sudo)
sudo usermod -aG docker $USER
newgrp docker

# 安装NVIDIA Container Toolkit(如果使用GPU)
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
   && curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - \
   && curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt update && sudo apt install -y nvidia-container-toolkit
sudo systemctl restart docker

原理说明:
nvidia-container-toolkit允许Docker容器访问宿主机GPU资源
usermod命令将当前用户加入docker组,避免权限问题

2. 拉取Stable Diffusion WebUI镜像

代码片段
# 拉取最新稳定版镜像(2025年5月更新)
docker pull ghcr.io/sd-webui/stable-diffusion-webui:latest

# (可选)验证镜像下载成功
docker images | grep stable-diffusion-webui

注意事项:
– 镜像大小约8GB,确保网络通畅和足够磁盘空间
– 国内用户可以使用镜像加速服务(如阿里云、腾讯云镜像)

3. 创建数据卷(持久化存储)

代码片段
# 创建模型和数据存储目录(避免容器删除后数据丢失)
mkdir -p ~/sd-data/models ~/sd-data/outputs ~/sd-data/extensions

# (可选)下载基础模型(如v1.5或XL版本)
wget https://example.com/models/v1-5-pruned.safetensors -O ~/sd-data/models/v1-5-pruned.safetensors

最佳实践:
/models:存放各种Stable Diffusion模型文件(.ckpt/.safetensors)
/outputs:生成的图片默认保存位置
/extensions:插件扩展目录

4. 启动Stable Diffusion容器

代码片段
docker run -d \
   --name sd-webui \
   --gpus all \
   -p 7860:7860 \
   -v ~/sd-data/models:/app/models \
   -v ~/sd-data/outputs:/app/outputs \
   -v ~/sd-data/extensions:/app/extensions \
   --restart unless-stopped \
   ghcr.io/sd-webui/stable-diffusion-webui:latest \
   --listen --enable-insecure-extension-access --xformers --medvram-sdxl

参数解释:
--gpus all:启用GPU加速(无GPU可去掉此参数使用CPU模式)
--listen:允许外部访问WebUI界面
--enable-insecure-extension-access:允许安装扩展插件(生产环境慎用)
--xformers:启用显存优化(XL模型必备)
--medvram-sdxl:针对SDXL模型的显存优化选项(8GB显存推荐)

5. (可选)使用docker-compose管理

创建docker-compose.yml文件:

代码片段
version: '3.8'

services:
  stable-diffusion:
    image: ghcr.io/sd-webui/stable-diffusion-webui:latest
    container_name: sd-webui
    restart: unless-stopped
    ports:
      - "7860:7860"
    volumes:
      - ./models:/app/models
      - ./outputs:/app/outputs 
      - ./extensions:/app/extensions
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all 
              capabilities: [gpu]
    command: ["--listen", "--enable-insecure-extension-access", "--xformers"]

然后运行:

代码片段
docker-compose up -d 

WebUI访问与配置

  1. 访问Web界面: http://localhost:7860 (或服务器IP地址)

  2. 首次启动注意事项:

    • WebUI会自动下载必要组件,可能需要10
原创 高质量