函数计算FC通过Dockerfile构建镜像如何添加相应python依赖的 RUN 命令?
FROM registry.cn-hangzhou.aliyuncs.com/aliyun-fc/fc-stable-diffusion:realman-v16
RUN git clone https://github.com/Uminosachi/sd-webui-inpaint-anything.git ${SD_BUILTIN}/extensions/sd-webui-inpaint-anything
RUN --mount=type=cache,target=/root/.cache/pip pip install accelerate accelerate huggingface_hub numpy opencv-python Pillow segment_anything transformers lama_cleaner ultralytics tqdm packaging
RUN echo "inpaint-anything-v1" > /IMAGE_TAG
以上 Dockerfile 示例展示了如何基于已有的镜像构建新的镜像(建议基于 realman 或 lite 镜像构建),并添加相应的 Python 依赖。关键步骤包括:
指定基础镜像:从阿里云提供的稳定扩散基础镜像开始构建,如 FROM registry.cn-hangzhou.aliyuncs.com/aliyun-fc/fc-stable-diffusion:realman-v16。
克隆插件仓库:如果需要集成特定插件(此处以 sd-webui-inpaint-anything 为例),使用 RUN git clone 命令将其克隆到镜像中的指定目录。
安装 Python 依赖:使用 RUN --mount=type=cache,target=/root/.cache/pip pip install 命令安装所需的 Python 库。在这个例子中,安装了诸如 accelerate、huggingface_hub、numpy 等依赖。--mount=type=cache,target=/root/.cache/pip 有助于缓存 pip 下载的文件,提高重复构建时的速度。
创建标记文件(可选):若需要,可以创建一个文件(如 /IMAGE_TAG)来标识镜像版本或特性,便于识别和管理。
完成上述步骤后,可以使用 docker build 命令构建新镜像,并通过 docker push 命令将其推送到阿里云容器镜像服务(ACR)。随后在函数计算中部署更新后的镜像。此回答整理自钉群“【交流群】函数计算 AIGC 场景技术交流”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。