utk*_*utk 20 aws-lambda spring-cloud-function graalvm-native-image
我正在使用基本示例在 Ubuntu 上构建 lambda。它构建时没有任何错误,但如果我在 aws 上上传并测试它,则会崩溃:
{
"errorMessage": "RequestId: 7f4d0aca-125c-4032-98dd-9ff387e5252b Error: Runtime exited with error: exit status 1",
"errorType": "Runtime.ExitError"
}
Run Code Online (Sandbox Code Playgroud)
日志输出为:
START
RequestId: 7f4d0aca-125c-4032-98dd-9ff387e5252b
Version: $LATEST.~.jwtauthorizeraws.jwtauthorizerawsapplication: /lib64/libc.so.6: version `GLIBC_2.32' not found (required by ./~.jwtauthorizerawsapplication)
END
RequestId: 7f4d0aca-125c-4032-98dd-9ff387e5252b
REPORT
RequestId: 7f4d0aca-125c-4032-98dd-9ff387e5252b
Duration: 56.02 ms
Billed Duration: 57 ms
Memory Size: 128 MB
Max Memory Used: 7 MB
RequestId: 7f4d0aca-125c-4032-98dd-9ff387e5252b
Error: Runtime exited with error: exit status 1
Runtime.ExitError
Run Code Online (Sandbox Code Playgroud)
Mat*_*unt 17
我最近遇到了这个问题。
构建您的项目CGO_ENABLED=0可能足以解决您的问题:
GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -o main main.go
Run Code Online (Sandbox Code Playgroud)
如果您使用的是sam,则会有一个--use-container标志,但这可能不适用于 golang 项目
要sam build使用自定义构建命令,即运行go build上面的命令,您可以设置BuildMethod并makefile创建一个Makefile名为 的目标build-<YourFunctionName>。
GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -o main main.go
Run Code Online (Sandbox Code Playgroud)
那么就会Makefile有:
build-HealthCheckFunction:
GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -o healthcheck lambda/healthcheck/healthcheck.go
mv healthcheck $(ARTIFACTS_DIR)
Run Code Online (Sandbox Code Playgroud)
有关我必须做些什么才能在项目中解决此问题的更多详细信息,请参阅: https: //www.gaunt.dev/blog/2022/glibc-error-with-aws-sam-and-go/
小智 11
这可能意味着glibc用于构建可执行文件的版本与 docker 环境使用的版本不同。
因此,检查构建环境ldd --version将显示 glibc 版本。
现在,在您的 docker 容器 ( docker run -ti --entrypoint=/bin/bash dockerimage:tag) 中键入相同的ldd命令。您可能会发现版本不同。因此,更新构建环境以使用与 docker 环境相同的版本,反之亦然。
避免这种情况的最佳方法是使用运行时环境来构建本机可执行文件:这样版本glibc将始终匹配。
Ber*_*rka -1
您正在执行的环境似乎在版本 2.32 中不提供 Glibc 版本。
这可能会产生几个问题:您的 Lambda 环境版本较旧,或者根本不提供 GlibC(可能是这种情况)。
如果您的应用程序是纯java(不通过graal创建本机应用程序),它将运行,因为java应用程序本身不依赖于GLibC的版本,要求来自本机应用程序。
| 归档时间: |
|
| 查看次数: |
44527 次 |
| 最近记录: |