前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Ubuntu20.4 docker运行stable diffusion webui

Ubuntu20.4 docker运行stable diffusion webui

原创
作者头像
对你无可奈何
发布2023-06-06 15:55:46
1.8K0
发布2023-06-06 15:55:46
举报
文章被收录于专栏:运维专栏运维专栏

环境前提

系统环境ubuntu20.04

uname -a

nvida cuda显卡驱动默认已经安装成功

nvidia-smi

安装配置docker

upgrade系统

更新系统依赖:

apt-get upgrade

卸载之前的Docker环境

确认是否之前安装过docker并卸载:

sudo apt-get remove docker docker-engine docker.io containerd runc

安装相关工具并添加docker

#安装相关工具
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
#添加阿里云的docker GPG密钥
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
#添加阿里镜像源
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
#更新
sudo apt-get update

安装docker

sudo apt-get install -y docker-ce

启动并查看docker运行状态:

sudo systemctl restart docker
sudo systemctl status docker

5. 配置镜像加速器

注:这一部步基本可以忽略,因为没有使用国外dockerhub镜像!

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://7zk8hbh7.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

安装配置nvidia-docker2

配置nvidia-docker2仓库

curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
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-get update

安装nvidia-docker2并重启docker服务

安装nvidia-docker2

sudo apt-get install -y nvidia-docker2
sudo pkill -SIGHUP dockerd

安装完成后需要重启docker:

sudo systemctl daemon-reload
sudo systemctl restart docker

运行cuda镜像验证是否安装成功

sudo docker run --rm --gpus all nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi

能输出cuda相关信息安装成功:

Docker运行stable diffusion webui

登陆私有仓库并加载stable diffusion webui镜像:

注:我这里用的腾讯云的tcr的私有仓库同步的siutin/stable-diffusion-webui-docker镜像:

docker login xxxx.tencentcloudcr.com --username 'tcr$xxxx-read' --password xxxxxx
docker pull xxxxx.tencentcloudcr.com/xxxx/stable-diffusion-webui-docker:latest-cuda

已经吐槽过tcr仓库的username tcr\$的方式......恩 还有我想方便绑定子账号的需求...不知道什么时候会排期:

本地宿主机创建models outputs目录

创建本地挂载目录,并chmod设置文件夹权限:

mkdir -p /data/stable-diffusion-webui-docker&&cd /data/stable-diffusion-webui-docker

<!---->

mkdir models outputs
sudo chmod 775 -R models outputs

上传或者下载models 到models目录!

启动stable-diffusion-webui实例

Docker 后台启动stable-diffusion-webui

docker run -it -d --name zhangpeng -p 7860:7860 --gpus all --network host -v /data/stable-diffusion-webui/models:/app/stable-diffusion-webui/models -v /data/stable-diffusion-webui/outputs:/app/stable-diffusion-webui/outputs --rm xxxx.tencentcloudcr.com/xxxx/stable-diffusion-webui-docker:latest-cuda bash webui.sh --share --listen 

参数说明:

-d 后台启动

-it -i 是交互 -t是分配终端

--name 实例名

-p 指定端口映射,格式为:宿主机端口:容器端口

-v 绑定一个卷

--network 网络模式 参数有host bridge

webui.sh参数

--listen --api --port xxx端口

--device-id 显卡ID

查看容器运行状态:

docker logs -f  zhangpeng

注: 由于我这里没有模型,挂载本地models空目录会报错,这里演示没有挂载dodels目录,会自动下载

web访问测试

自定义用户名密码方式:

注:先停止实例docker stop zhangpeng

docker run -it -d --name zhangpeng -p 7860:7860 --gpus all --network host -v /data/stable-diffusion-webui/models:/app/stable-diffusion-webui/models -v /data/stable-diffusion-webui/outputs:/app/stable-diffusion-webui/outputs --rm xxx.tencentcloudcr.com/xxxx/stable-diffusion-webui-docker:latest-cuda bash webui.sh --share --listen --gradio-auth zhangpeng:abc@1234

当然了也可以docker-compose的方式启动,这里就简单跑一下了!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 环境前提
  • 安装配置docker
    • upgrade系统
      • 卸载之前的Docker环境
        • 安装相关工具并添加docker
          • 安装docker
            • 5. 配置镜像加速器
            • 安装配置nvidia-docker2
              • 配置nvidia-docker2仓库
                • 安装nvidia-docker2并重启docker服务
                  • 运行cuda镜像验证是否安装成功
                  • Docker运行stable diffusion webui
                    • 登陆私有仓库并加载stable diffusion webui镜像:
                      • 本地宿主机创建models outputs目录
                        • 启动stable-diffusion-webui实例
                          • web访问测试
                            • 自定义用户名密码方式:
                            相关产品与服务
                            容器镜像服务
                            容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
                            领券
                            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档