1 回答
- 最新
- 投票最多
- 评论最多
0
【以下的回答经过翻译处理】 你好,
我是AWS支持团队的Tim。我与AWS的一些同事一起合作,发现我们的AWS ECR Dotnet 6基础镜像(https://gallery.ecr.aws/lambda/dotnet)包含openldap。
当你提到它是原生安装时,我理解为你在运行代码时使用了我们提供的openldap包(因此你的代码建立在提供的openldap)。
建议在Dockerfile中添加以下行来安装openldap,无论我们是否包含它(这样你可以完全控制你的依赖项):
RUN yum install -y openldap
如果基础镜像中的openldap被删除,你捆绑的安装方式将保证它始终在镜像构建过程中被包含和安装。
只需要注意的是,软件开发有点难以排除错误,在双人编程的情景下会变得更容易(我会与你一起在那里)。但我尽自己所能在我的一面寻找答案。
- 假设你在修改Dockerfile后成功捆绑了它,错误会提示你考虑设置LD_DEBUG环境变量。
- 另一个可能的问题是文件的权限,我曾在我们的基于ZIP的Python部署包中遇到类似的错误,需要改变权限(https://aws.amazon.com/premiumsupport/knowledge-center/lambda-deployment-package-errors/)
- 最后一个可能成为问题的是你建立容器的方法,这是我自己没有多少可见性的地方(我之前提到的双人编程问题: ^))。也许你可以仔细查看这些。如果你的系统非常干净且默认设置(即没有进行过太多修改),那么可能需要和dotnet语言维护者一起进行一些挖掘。我发现一个github议题和你的情况类似(不是完全一样的问题)https://github.com/dotnet/dotnet-docker/issues/1946
我有一些额外的资源可以提供帮助。我们最近发布了一篇博文(截至本文撰写时为 5 天前),介绍如何开始使用 AWS Lambda 的 dotnet 6 运行时,请点击此处:https://aws.amazon.com/blogs/compute/introducing-the-net-6-runtime-for-aws-lambda/。
此外,在过去一小时内(截至本文撰写之时),我们的无服务器团队发布了一个视频教程,提供了一些新发布的 dotnet 6 运行时的演示:https://www.youtube.com/watch?v=l4_WNjMHDx8。
如需进一步排除故障,您可以查看 aws dotnet GitHub 页面并提交问题,他们以前可能遇到过此类错误:https://github.com/aws/dotnet
相关内容
- AWS 官方已更新 2 年前
- AWS 官方已更新 1 年前
- AWS 官方已更新 3 年前
- AWS 官方已更新 2 年前