如何使用OpenJDK11重建sam/emulation-java11镜像及获取其源码
重建sam/emulation-java11镜像及源码参考
镜像重建方法
方式一:基于官方镜像迁移(允许临时拉取时)
- 拉取官方镜像:
docker pull public.ecr.aws/sam/emulation-java11 - 导出镜像到本地文件:
docker save -o emulation-java11.tar public.ecr.aws/sam/emulation-java11 - 将tar包传输到企业内部镜像仓库服务器,加载镜像:
docker load -i emulation-java11.tar - 重新打标签适配内部仓库:
docker tag public.ecr.aws/sam/emulation-java11 <企业内部仓库地址>/sam/emulation-java11:latest - 推送到内部仓库:
docker push <企业内部仓库地址>/sam/emulation-java11:latest
方式二:从零构建(无法拉取官方镜像时)
- 以
amazoncorretto:11作为基础镜像,安装AWS SAM CLI依赖:python3、pip、curl等工具 - 安装AWS SAM CLI并配置环境变量使其全局可用
- 设置Lambda Java 11运行时的必要环境变量(如
LAMBDA_TASK_ROOT、LAMBDA_RUNTIME_DIR) - 集成Step Functions本地仿真所需组件,确保镜像支持
sam local start-stepfunctions和sam local invoke等命令
源码来源参考
AWS SAM的emulation系列镜像构建逻辑,核心来自AWS SAM CLI的官方代码库:
- 镜像对应的Dockerfile通常存放在代码库的
docker目录下,针对Java 11版本有专门的配置文件 - 镜像中包含的Lambda运行时仿真、Step Functions本地执行逻辑,均属于SAM CLI的核心功能模块,负责在本地环境模拟AWS服务行为,实现Lambda与Step Functions的集成调试
内容的提问来源于stack exchange,提问作者Rak
相关产品推荐
相关产品推荐

