dockerfile

编写dockerfile

 # 使用nvidia/cuda作为基础镜像

FROM nvidia/cuda:11.8.0-devel-ubuntu22.04

  

# 安装必要的工具

RUN apt-get update && apt-get install -y git sudo wget

  

# 创建新用户sd并添加到sudo组

RUN useradd -ms /bin/bash sd && echo "sd:sd" | chpasswd && adduser sd sudo

  

# 为了使 sd 用户可以使用 sudo 命令而不需要密码

RUN echo "sd ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers

  

# 切换到sd用户

USER sd

  

# 定义工作目录

WORKDIR /home/sd/

  

# 下载并安装Miniconda

RUN wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda.sh && \

bash ~/miniconda.sh -b -p $HOME/miniconda && \

rm ~/miniconda.sh

  

# 将Conda的bin路径添加到PATH中

ENV PATH="/home/sd/miniconda/bin:$PATH"

  

# 克隆stable-diffusion-webui

RUN git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git

  

# 进入 stable-diffusion-webui 目录并执行 webui.sh 脚本

WORKDIR /home/sd/stable-diffusion-webui

RUN bash webui.sh

构建

docker build -t stable_diffusion_webui:v1 .

运行

sudo docker run --gpus=all -p 8860:7860 -itd --name sd stable_diffusion_webui:v1

官方构建项目

中文教程:

人工智能,丹青圣手,全平台(原生/Docker)构建Stable-Diffusion-Webui的AI绘画库教程(Python3.10/Pytorch1.13.0) - 刘悦的技术博客 - 博客园