You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为AWS SageMaker部署镜像添加缺失的ffmpeg二进制文件

在AWS SageMaker自定义镜像中添加FFmpeg的标准流程

步骤1:编写Dockerfile基于原DJL镜像

以你使用的官方DJL推理镜像为基础,编写Dockerfile来安装ffmpeg:

# 基础镜像指定为你当前使用的DJL镜像
FROM 763104351884.dkr.ecr.europe-west-1.amazonaws.com/djl-inference:0.21.0-deepspeed0.8.3-cu117

# 基于Ubuntu系统安装ffmpeg,清理缓存减小镜像体积
RUN apt-get update && apt-get install -y --no-install-recommends \
    ffmpeg \
    && rm -rf /var/lib/apt/lists/*

注:该基础镜像基于Ubuntu发行版,因此使用apt包管理器;若后续镜像更换为Amazon Linux等其他发行版,需改用yum或dnf命令执行安装。

步骤2:构建并推送自定义镜像到ECR

  1. 登录目标区域的ECR仓库:
aws ecr get-login-password --region europe-west-1 | docker login --username AWS --password-stdin 你的ECR账号ID.dkr.ecr.europe-west-1.amazonaws.com
  1. 构建本地Docker镜像:
docker build -t custom-djl-ffmpeg:v1 .
  1. 为镜像添加ECR仓库标签:
docker tag custom-djl-ffmpeg:v1 你的ECR账号ID.dkr.ecr.europe-west-1.amazonaws.com/你的ECR仓库名:custom-djl-ffmpeg-v1
  1. 推送镜像到ECR:
docker push 你的ECR账号ID.dkr.ecr.europe-west-1.amazonaws.com/你的ECR仓库名:custom-djl-ffmpeg-v1

步骤3:修改部署代码使用自定义镜像

将部署函数中的image_uri参数替换为你推送到ECR的自定义镜像地址即可。


AWS深度学习容器自定义镜像文档核心内容(中文翻译)

自定义镜像核心原则

  • 保持兼容性:必须基于AWS官方深度学习容器(DLC)构建,确保与SageMaker的基础设施、API及运行时环境兼容。
  • 最小化变更:仅添加必要的依赖或工具,避免修改原镜像的核心运行环境,防止引入兼容性问题。
  • 轻量化镜像:安装完成后清理包管理缓存(如rm -rf /var/lib/apt/lists/*),减小镜像体积,加速SageMaker端点启动与部署流程。

自定义镜像关键要求

  • 需保留官方DLC内置的SageMaker入口脚本,无需额外添加,除非你需要自定义推理逻辑。
  • 确保镜像用户权限正确:官方DLC使用sagemaker用户运行进程,自定义操作避免破坏权限配置,必要时用USER sagemaker切换用户。
  • GPU实例适配:基于CUDA的镜像需保证CUDA、cuDNN等依赖版本与原镜像一致,避免GPU加速功能失效。

内容的提问来源于stack exchange,提问作者n_prime

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 16:07:12