本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

amazonlinux for lambda layer 是基于 Amazon Linux 操作系统构建的专用 Docker 镜像,专为 AWS Lambda Layer 开发设计。该镜像提供与 Lambda 运行时环境高度兼容的系统级依赖和工具链,支持开发者打包自定义库、系统依赖或运行时组件,通过 Lambda Layer 共享给多个 Lambda 函数使用。
glibc、libssl 等),避免因依赖版本差异导致的运行时错误。ffmpeg、imagemagick)的打包,解决 Lambda 原生环境依赖缺失问题。yum 包管理器,支持安装 Amazon Linux 官方源中的系统库(如 libpng、libjpeg 等)。gcc、make、cmake),支持源码编译自定义依赖。ffmpeg、图像处理库 libvips)时,通过该镜像编译并打包依赖至 Layer。lambda:CreateLayer、lambda:UpdateLayerVersion 等)。通过 Docker Hub 或 AWS ECR 拉取镜像(需替换 <tag> 为具体版本,如 2 对应 Amazon Linux 2):
docker pull amazonlinux:lambda-layer-<tag>
mkdir -p lambda-layer && cd lambda-layer
创建 Dockerfile 定义 Layer 构建流程,示例如下(以打包 ffmpeg 为例):
# 基于 amazonlinux for lambda layer 镜像 FROM amazonlinux:lambda-layer-2 # 安装系统依赖(通过 yum) RUN yum install -y [***] \ && yum install -y ffmpeg # 定义 Lambda Layer 输出目录(需与 Lambda 运行时路径一致) WORKDIR /opt # 将依赖复制到 Layer 标准输出路径(Lambda 会从 /opt 加载 Layer 内容) RUN cp -r /usr/bin/ffmpeg /opt/ \ && cp -r /usr/lib64/libav* /opt/lib/ \ && cp -r /usr/lib64/libsw* /opt/lib/ # 打包 Layer 内容为 zip(可选,便于本地测试) RUN zip -r /tmp/layer.zip .
在 lambda-layer 目录下执行构建命令:
docker build -t lambda-layer-ffmpeg .
从容器中复制打包好的 layer.zip 到本地:
docker run --rm -v $(pwd):/output lambda-layer-ffmpeg cp /tmp/layer.zip /output/
通过 AWS CLI 将 layer.zip 上传为 Lambda Layer:
aws lambda publish-layer-version \ --layer-name ffmpeg-layer \ --zip-file fileb://layer.zip \ --compatible-runtimes python3.9 nodejs18.x \ --description "FFmpeg for Lambda functions"
可通过以下命令在容器内模拟 Lambda 环境测试 Layer 依赖:
# 启动容器并挂载 Layer 目录 docker run -it --rm -v $(pwd)/layer.zip:/opt/layer.zip amazonlinux:lambda-layer-2 bash # 解压 Layer 并测试依赖(如 ffmpeg) unzip /opt/layer.zip -d /opt && /opt/ffmpeg -version
# 启动交互式终端,测试系统依赖安装 docker run -it --rm amazonlinux:lambda-layer-2 bash # 在容器内安装并测试依赖(如 libpng) yum install -y libpng-devel && pkg-config --modversion libpng
以下示例通过镜像打包 Python 系统级依赖(如 pycurl,需依赖系统 libcurl):
FROM amazonlinux:lambda-layer-2 # 安装 Python 及系统依赖 RUN yum install -y python3.9 python3.9-devel gcc libcurl-devel # 创建虚拟环境并安装依赖 RUN python3.9 -m venv /opt/venv \ && source /opt/venv/bin/activate \ && pip install pycurl -t /opt/python # 打包为 Lambda Layer 标准结构(Python Layer 需放在 /opt/python 目录) RUN zip -r /tmp/python-layer.zip /opt/python
创建 docker-compose.yml 实现 Layer 自动构建与输出:
version: '3' services: layer-builder: build: . volumes: - ./output:/output command: cp /tmp/layer.zip /output/
执行构建:
docker-compose up --build
构建产物将输出至 ./output/layer.zip。
该镜像默认包含与 Lambda 运行时一致的环境变量,可直接用于依赖打包:
| 环境变量名 | 说明 | 示例值 |
|---|---|---|
LAMBDA_TASK_ROOT | Lambda 函数代码根目录(Layer 需与此路径兼容) | /var/task |
PATH | 系统命令搜索路径 | /usr/local/bin:/usr/bin:/bin |
LD_LIBRARY_PATH | 动态链接库搜索路径 | /var/task/lib:/opt/lib |
lambda-layer-2(对应 Amazon Linux 2)、lambda-layer-2023(对应 Amazon Linux 2023),需与目标 Lambda 运行时的 Amazon Linux 版本匹配(可通过 AWS 文档 确认运行时对应的系统版本)。/opt/python,Node.js 放 /opt/nodejs),具体参考 AWS Lambda Layer 目录规范。yum 安装系统依赖时,建议通过 --setopt=install_weak_deps=False 减少冗余依赖,降低 Layer 体积:
yum install -y --setopt=install_weak_deps=False ffmpeg
/opt 或其子目录(如 /opt/lib、/opt/bin),确保 Lambda 能正确加载。
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429