本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
该镜像为 AWS SAM CLI(Serverless Application Model Command Line Interface)提供本地测试支持,用于模拟 AWS Lambda 的执行环境。它基于 Amazon Linux 构建,集成了 Lambda 运行时所需的编程语言软件及核心文件,支持开发者在本地环境验证 Lambda 函数逻辑,无需直接部署至 AWS 云环境。
handler 函数)。该镜像通常由 SAM CLI 自动管理,无需手动执行 docker run。通过以下 SAM CLI 命令触发本地测试时,镜像会被自动拉取并启动:
# 本地调用指定 Lambda 函数(需提前准备事件文件 event.json) sam local invoke "FunctionName" -e event.json # 启动本地 API Gateway 模拟服务(用于测试 HTTP 触发型函数) sam local start-api # 启动 Lambda 本地模拟器(支持通过 AWS SDK 或 CLI 触发函数) sam local start-lambda
如需自定义测试环境(如修改运行时参数、挂载本地依赖),可手动启动容器:
docker run -d \ --name lambda-local-env \ -v /本地函数代码目录:/var/task \ # 挂载 Lambda 函数代码(必填) -e AWS_REGION="us-east-1" \ # 设置 AWS 区域(影响 SDK 客户端默认配置) -e LAMBDA_TASK_ROOT="/var/task" \ # 指定函数代码根目录(固定为 /var/task) -e LAMBDA_FUNCTION_NAME="MyFunc" \# 函数名称(自定义) -p 9000:8080 \ # 映射运行时接口端口(8080 为 RIE 默认端口) amazon/aws-sam-cli-emulation-image-<runtime>:<tag> # 替换为具体 runtime 和标签
说明:
<runtime>需替换为目标函数运行时(如python3.9、nodejs18.x);<tag>为镜像版本标签(如latest或具体版本号,可从 AWS ECR 仓库 获取)。
在多服务依赖场景(如 Lambda + 本地 DynamoDB)中,可通过 Docker Compose 集成:
version: '3.8' services: lambda: image: amazon/aws-sam-cli-emulation-image-python3.9:latest volumes: - ./lambda-code:/var/task # 挂载本地函数代码 environment: - AWS_REGION=us-west-2 - DYNAMODB_ENDPOINT=[***] # 指向本地 DynamoDB 服务 ports: - "9000:8080" # 暴露 RIE 接口,用于接收函数调用请求 depends_on: - dynamodb dynamodb: image: amazon/dynamodb-local:latest ports: - "8000:8000" command: "-jar DynamoDBLocal.jar -inMemory" # 内存模式运行(数据不持久化)
| 环境变量名 | 描述 | 默认值示例 |
|---|---|---|
LAMBDA_TASK_ROOT | Lambda 函数代码根目录,容器内固定为 /var/task,需通过挂载本地目录注入代码 | /var/task |
AWS_REGION | AWS 区域配置,影响 AWS SDK 客户端默认区域(如 us-east-1) | us-east-1 |
LAMBDA_FUNCTION_NAME | 函数名称,用于日志和错误信息标识 | UnnamedFunction |
| 环境变量名 | 描述 | 默认值示例 |
|---|---|---|
LAMBDA_MEMORY_SIZE | 分配给函数的内存大小(MB),影响 CPU 资源配额 | 128 |
LAMBDA_TIMEOUT | 函数超时时间(秒) | 3 |
AWS_ACCESS_KEY_ID | 本地测试用 AWS 访问密钥(仅用于模拟,无需真实密钥) | test |
AWS_SECRET_ACCESS_KEY | 本地测试用 AWS 密钥(仅用于模拟,无需真实密钥) | test |
/var/task:必须挂载本地 Lambda 函数代码目录,包含函数入口文件(如 handler.py、index.js)及依赖文件(如 requirements.txt、node_modules)。/tmp:Lambda 函数临时存储目录,如需持久化临时文件可挂载本地目录(如 -v /本地临时目录:/tmp)。/var/runtime:运行时依赖目录(镜像内置,通常无需挂载,除非需自定义 runtime 文件)。amazon/aws-sam-cli-emulation-image-python3.9),版本不匹配会导致运行时错误。sbx_user1051)对挂载目录有读权限,避免因权限不足导致函数加载失败(可通过 chmod 755 /本地目录 调整)。public.ecr.aws 仓库(国内用户可配置镜像加速)。免费版仅支持 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