开发者社区 > 云原生 > Serverless > 正文

函数计算FC通过Dockerfile构建镜像如何添加相应python依赖的 RUN 命令?

函数计算FC通过Dockerfile构建镜像如何添加相应python依赖的 RUN 命令?

展开
收起
三分钟热度的鱼 2024-05-05 12:39:28 48 0
1 条回答
写回答
取消 提交回答
  • 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 场景技术交流”

    2024-05-05 14:38:32
    赞同 2 展开评论 打赏

快速交付实现商业价值。

相关产品

  • 函数计算
  • 热门讨论

    热门文章

    相关电子书

    更多
    Hologres Serverless之路:揭秘弹性计算组 立即下载
    Serverless开发平台: 让研发效能再提升 立即下载
    Serverless 引领云上研发新范式 立即下载