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) - 刘悦的技术博客 - 博客园