首先确保已经安装Docker,Mac推荐安装OrbStack而不是Docker Desktop。安装完成后,在OrbStack中设置内存资源限制为最大,我Mac为8G内存,OrbStack默认最大限制2G,所以运行ComfyUI时内存不足导致Killed
。将内存限制调到最大(6G)后,可以简单的出图。
1. Dockerfile基于Python镜像构建ComfyUI镜像,但是不包括模型下载过程,因此需要提前将所用模型准备好,若已经部署过StableDiffusion-WebUI,可以直接将其models文件夹映射到ComfyUI的models文件夹,总之先准备一个models/文件夹和模型,结构参考ComfyUI内的models/文件夹。Dockerfile参考https://github.com/oxc/ComfyUI.git,内容如下:
FROM python:3.11-slim
LABEL maintainer="richard@i4bot.com>"
ARG USERNAME=comfyui
ARG USER_UID=1000
ARG USER_GID=${USER_UID}
RUN <<EOF
groupadd --gid ${USER_GID} ${USERNAME}
useradd --uid ${USER_UID} --gid ${USER_GID} -m ${USERNAME}
EOF
RUN <<EOF
apt-get update
apt-get install -y --no-install-recommends \
wget \
git \
git-lfs \
gcc \
g++ \
build-essential \
fonts-recommended \
python3-dev \
libgl1 \
rsync \
libglib2.0-dev
rm -rf /var/lib/apt/lists/*
EOF
USER ${USER_UID}:${USER_GID}
WORKDIR /app
ENV VIRTUAL_ENV=/app/venv
ENV VIRTUAL_ENV_CUSTOM=/app/custom_venv
RUN python -m venv ${VIRTUAL_ENV}
ENV PATH="${VIRTUAL_ENV_CUSTOM}/bin:${VIRTUAL_ENV}/bin:${PATH}"
RUN pip install --no-cache-dir --upgrade setuptools wheel && pip install --no-cache-dir --pre torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/nightly/cpu \
&& git clone --recurse-submodules https://github.com/comfyanonymous/ComfyUI.git
WORKDIR /app/ComfyUI
RUN pip install --no-cache-dir -r requirements.txt \
&& cd custom_nodes \
&& git clone https://github.com/ltdrdata/ComfyUI-Manager.git \
&& pip install --no-cache-dir -r ComfyUI-Manager/requirements.txt \
&& git clone https://github.com/AIGODLIKE/AIGODLIKE-COMFYUI-TRANSLATION.git
ENV COMFYUI_ADDRESS=0.0.0.0
ENV COMFYUI_PORT=8188
ENV COMFYUI_EXTRA_ARGS="--cpu"
CMD \
if [ -d "${VIRTUAL_ENV_CUSTOM}" ]; then \
rsync -aP "${VIRTUAL_ENV}/" "${VIRTUAL_ENV_CUSTOM}/" ;\
sed -i "s!${VIRTUAL_ENV}!${VIRTUAL_ENV_CUSTOM}!g" "${VIRTUAL_ENV_CUSTOM}/pyvenv.cfg" ;\
fi ;\
python -u main.py --listen ${COMFYUI_ADDRESS} --port ${COMFYUI_PORT} ${COMFYUI_EXTRA_ARGS}
**其中有一些默认配置:默认安装了插件ComfyUI-Manager
,AIGODLIKE-COMFYUI-TRANSLATION
,其它插件也可以继续添加到dockerfile,也可以在ComfyUI界面中通过ComfyUI-Manager
安装;因为是在mac中安装所以还默认设置了--cpu
模式,端口默认设置为8188
。
2. 构建镜像:
终端进入Dockerfile所在目录,执行以下指令,将构建名为comfyui的镜像(请尽量使用网络代理):
docker build -t comfyui .
然后创建容器并运行ComfyUI:
docker run -p 8188:8188 -v /your/models/path:/app/ComfyUI/models comfyui
看到终端打印如下信息,然后浏览器地址栏访问127.0.0.1:8188
即可看到ComfyUI界面。
3. 在界面中,点击右侧的Queue Prompt
,看到流程在进行一会儿就能生成一张图片。点击Mannager
,弹出设置界面,可以在这里进行相关配置和安装插件:
4. 其它ComfyUI相关使用方式请自行研究
镜像已上传,可直接拉取docker pull richard1573/comfyui:latest