江湖夜雨十年灯

Stable Diffusion 在 Windows 下的容器方案

李二花 / 2023-02-26


Stable Diffusion 在 Windows 上安装依赖会很不好处理,因此我们使用容器方案

Docker 环境配置

本方案基于 Docker 配置,而 Docker 实质上是在已经运行的 Linux 下制造了一个隔离的文件环境,它必须部署在 Linux 内核的系统上。因此,Windows 系统想部署 Docker 就必须需要安装一个虚拟 Linux 环境,配置 WSL。

安装 WSL

在管理员 PowerShell 输入命令 wsl --install,之后终端会默认安装 Ubuntu。系统下载时间较长,注意别关机。安装 Ubuntu 完成后,按提示设置 Ubuntu 账户和密码。

如果你本来就安装了 WSL 但是是版本 1,就需要提升版本信息,请参考如下的信息

安装 docker 容器

去 docker 官网,根据系统(Windows)下载不同的分发版本,然后跟其他的 Windows 软件一样安装即可。

记得安装完后,在 setting 里面修改下镜像的源,这样能够提高镜像的下载速度。

Stable Duffusion 处理

下载源文件

这里下载到容器的 docker compose 文件。

安装

根据 Readme 里的 Setup & Usage 文件,我们要执行两步,一步是下载需要的 model 文件,而是运行对应的 stable diffusion webui

docker compose --profile download up --build
# wait until its done, then:
docker compose --profile [ui] up --build

需要注意的是,在运行 download 命令时,如果执行到某一步骤特别慢,一般都是运营商网络的问题,建议直接打开手机的热点,电脑连接到热点,把这部分下载慢的地方(一般这种情况不是 VPN 的问题,因为在本机直接 wget 也十分的慢,就是网络运营商的问题)通过热点的方式下载,然后再切换成无线网络下载。

需要的 model 等大的文件下载完毕后,我们开始执行第二部,也就是 docker compose --profile auto up --build 一般我们选择 auto 的方式执行即可,这个时候,可能遇到的问题会有很多。

建议先看下对应的 issue,里面有很多的解决方案,我罗列几个

model && Lora

因为目前容器里默认的 model 只有两个,如果我们想使用更多的 model 的话,推荐去这里下载对应的 model,然后放到对应的文件夹里,具体的文件夹剪下图,如果是 Lora ,可以去这里下载 因为 docker compose 里应写了 volumes 的对应关系,所以我们在本地的 data 文件夹里放入对应的文件,docker 容器里的也是会生效的。

    volumes:
      - &v1 ./data:/data
      - &v2 ./output:/output

使用

要使用新的 model 和新的 Lora 的方式如下


一些参考