docker一键运行stable diffusion webui,常用插件和功能完备,获得镜像后可打包带走
用于AI绘画的webui环境部署有一点点繁琐,还要下载很多github上的东西。所以把凌波丽永久装进docker镜像,再装进U盘,确保以后不管是换电脑还是没网络都能运行和复现。
一键运行:docker run --gpus all -it -p 8888:8888 -p 7860:7860 -p 6666:22 --name ayanami --ipc=host darkroot1234/ayanami:latest
自动下载镜像,并启动容器登录127.0.0.1:7860直接点击生成查看效果,可自行修改提示词,图像尺寸,随机数种子,goodluck!
内置了一些凌波丽模板,点击NAIConvert可以强化二次元风格,负面tag太多了要删除一些...命令释用
docker run:利用指定镜像启动一个容器,需要先在电脑上安装docker,比如win11下需要安装docker desktop并开启hyperv虚拟化。
--gpus all:使容器可以使用本机的GPU。
-it:容器启动后以命令行交互。
-p 8888:8888 -p 7860:7860 -p 6666:22:将容器内的几个端口映射出来,来与本机通信。
7860端口:webui;8888端口:jupyter lab(需要手动打开,密码7758258);6666端口:ssh(root,密码7758258)
--name ayanami:指定容器的名称为ayanami。
--ipc=host:容器的一种网络模式
darkroot1234/ayanami:latest:docker run指定的镜像名。如果该镜像未在本地,自动从dockerhub下载。
镜像内置命令 python webui.py --listen --xformers,表示容器每次启动后都会用python运行当前目录的webui.py脚本,并以ip0.0.0.0(本机127.0.0.1)以及xformers加速模式运行。
可以在运行docker run命令时修改内置命令,添加到docker run命令最后即可。比如:
容器启动后不开启网页服务而是直接进入容器内部
docker run --gpus all -it -p 8888:8888 -p 7860:7860 -p 6666:22 --name ayanami --ipc=host darkroot1234/ayanami:latest /bin/bash
开启低显存运行模式(2G显存可用,速度会变慢并且图有变化,2-4G可以尝试 --medvram,相比--lowvram略快一些)
docker run --gpus all -it -p 8888:8888 -p 7860:7860 -p 6666:22 --name ayanami --ipc=host darkroot1234/ayanami:latest python webui.py --listen --xformers --lowvram
容器的工作目录在/workspce,里面是完整的webui项目。如果想挂载本地的webui项目进行文件交互和运行,比如挂载我自己的e盘alice目录
docker run --gpus all -it -p 8888:8888 -p 7860:7860 -p 6666:22 --name ayanami -v e/Alice:/workspace --ipc=host darkroot1234/ayanami:latest /bin/bash
用CPU跑(极慢)
docker run -it -p 8888:8888 -p 7860:7860 -p 6666:22 --name ayanami --ipc=host darkroot1234/ayanami:latest python webui.py --listen --no-half --use-cpu all
详细介绍
镜像内含:ubantu18.04;anaconda3(python3.10.8);pytorch1.13.1(cuda11.6);整个webui项目;运行所需额外下载的全部文件;一个画画模型权重ayanami.ckpt,一个deepdanbooru提示词反推模型权重;用于dreambooth的缓存文件等共23G...
硬件要求:内存>8g,支持nvidia显卡,不支持amd显卡,可以只用cpu运行
打包带走:拉取镜像到本地后,运行下面命令保存镜像为压缩包在当前目录。
docker save -o ayanami.tar darkroot1234/ayanami:latest
压缩包可以放入网盘或u盘带走(永久专属画师get),放在另一设备上运行下面命令即可还原镜像
docker load -i ayanami.tar
文件交互:除了直接挂载本地目录,可以通过jupyter lab实现文件交互。一键运行容器后,去docker desktop再打开一个这个容器的终端,输入/bin/bash,输入jupyter lab,打开浏览器127.0.0.1:8888(密码7758258),左边文件夹栏即可与本机文件交互,比如更换模型、修改配置文件等。
将本机文件直接拖进文件夹栏即可模型文件夹:/workspace/models/Stable-diffusion/
输出图片文件夹:/workspace/outputs/
ui界面配置文件:/workspace/ui-config.json,修改后需要重启容器(相当于重新运行webui.py)
一般问题:
1.内存泄露,切换模型可能会爆容器的内存,终端显示kill并且直接终止容器。如果无法忍受,使用上文直接进入容器内部的命令,手动启动webui服务,命令行运行python webui.py --listen。爆内存后再运行即可。
2.映射端口被占用无法启动容器,可手动修改映射端口
3.部分功能不支持离线或装不上就隐藏了,如clip反推提示词,面部修复,插件选项等