Ubuntu20.4 docker运行stable diffusion webui

在Ubuntu20.04系统中,首先升级系统并安装Docker,使用阿里云源加速。然后卸载旧版本Docker,安装NVIDIA-docker2以支持CUDAGPU。接着从私有仓库拉取CUDA镜像,并创建数据目录挂载到容器。最后启动GPU支持的stable-diffusion-webui实例,实现Web界面访问。
摘要由CSDN通过智能技术生成

环境前提

系统环境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的方式启动,这里就简单跑一下了!

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Ubuntu 20.04 是一个流行的Linux操作系统版本,而Docker则是一个开源的容器化平台。在Ubuntu 20.04上安装和使用Docker非常简单。 首先,我们需要确保Ubuntu 20.04系统已经安装了Docker的依赖项。可以通过运行以下命令来安装它们: ``` sudo apt-get update sudo apt-get install apt-transport-https ca-certificates curl software-properties-common ``` 接下来,我们将添加Docker官方的GPG密钥,并将Docker存储库添加到系统中。运行以下命令: ``` curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" ``` 完成后,我们再次更新apt存储库并安装Docker: ``` sudo apt-get update sudo apt-get install docker-ce ``` 安装完成后,我们可以通过运行以下命令来验证Docker是否成功安装: ``` sudo systemctl status docker ``` 这将显示Docker服务的状态及相关信息。 现在,我们已经成功在Ubuntu 20.04上安装了Docker。可以使用Docker命令来构建和管理容器。例如,可以使用以下命令拉取和运行一个Ubuntu 18.04的容器: ``` docker run -it ubuntu:18.04 bash ``` 这将下载和启动一个新容器,并进入该容器的bash终端。 总结起来,Ubuntu 20.04是一个流行的Linux操作系统版本,并且可以轻松地在其上安装和使用Docker。使用Docker可以方便地构建、部署和管理容器化应用程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

对你无可奈何2008

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值