
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
AWS Lambda Java 基础镜像是 AWS 提供的官方基础镜像,包含在 AWS Lambda 上运行容器镜像打包的 Java 函数所需的全部组件。该镜像基于 Amazon Linux 基础操作系统构建,集成了 Java 运行时环境、必要依赖项以及 Lambda Runtime Interface Client (RIC)。RIC 实现了 Lambda https://docs.aws.amazon.com/lambda/latest/dg/runtimes-api.html%EF%BC%8C%E5%85%81%E8%AE%B8%E5%87%BD%E6%95%B0%E8%BF%90%E8%A1%8C%E6%97%B6%E6%8E%A5%E6%94%B6%E5%92%8C%E5%8F%91%E9%80%81%E8%AF%B7%E6%B1%82%E8%87%B3 Lambda 服务。
如需了解镜像的详细组成,可访问 https://github.com/aws/aws-lambda-base-images%E3%80%82
函数运行时需遵循以下目录结构:
.class)存放于 /var/task(可通过环境变量 ${LAMBDA_TASK_ROOT} 引用)。/var/task/lib 目录。预期目录结构示例:
/var/task/ ├── com │ └── example │ ├── LambdaHandler.class # 函数处理类 │ └── <其他类文件> └── lib ├── aws-lambda-java-core-1.2.1.jar # Lambda 核心依赖 ├── aws-lambda-java-events-3.7.0.jar # 事件处理依赖 └── <其他 JAR 依赖>
根据构建工具(Gradle 或 Maven)的不同,Dockerfile 需调整类文件和依赖的复制路径。
4.2.1 Gradle 项目示例
dockerfileFROM public.ecr.aws/lambda/java:11 # 从 Gradle 构建目录复制类文件和依赖 COPY build/classes/java/main ${LAMBDA_TASK_ROOT} COPY build/dependency/* ${LAMBDA_TASK_ROOT}/lib/ # 设置函数处理程序(也可通过外部参数覆盖) CMD [ "com.example.LambdaHandler::handleRequest" ]
4.2.2 Maven 项目示例
dockerfileFROM public.ecr.aws/lambda/java:11 # 从 Maven 构建目录复制类文件和依赖 COPY target/classes ${LAMBDA_TASK_ROOT} COPY target/dependency/* ${LAMBDA_TASK_ROOT}/lib/ # 设置函数处理程序(也可通过外部参数覆盖) CMD [ "com.example.LambdaHandler::handleRequest" ]
4.3.1 Gradle 配置
添加 Gradle 任务以收集运行时依赖:
groovytask copyRuntimeDependencies(type: Copy) { from docker.xuanyuan.run/configurations.runtimeClasspath into 'build/dependency' } build.dependsOn copyRuntimeDependencies
执行构建后,依赖将被复制到 build/dependency 目录。
4.3.2 Maven 配置
使用 maven-dependency-plugin 收集运行时依赖:
xml<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>3.1.2</version> <executions> <execution> <id>copy-dependencies</id> <phase>package</phase> <goals> <goal>copy-dependencies</goal> </goals> </execution> </executions> </plugin> <!-- 其他插件配置 --> </plugins> </build>
执行以下命令编译并收集依赖:
bashmvn compile dependency:copy-dependencies -DincludeScope=runtime
依赖将被复制到 target/dependency 目录。
4.4.1 构建镜像
bashdocker build -t <镜像名称> .
4.4.2 运行镜像
bashdocker run -p 9000:8080 <镜像名称>
4.4.3 本地调用函数
在另一个终端中,使用 curl 发送请求:
bashcurl -XPOST "http://localhost:9000/2015-03-31/functions/function/invocations" -d '{"payload":"hello world!"}'
如需将镜像部署到 AWS Lambda,需先推送至 Amazon ECR(Elastic Container Registry):
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务