首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在AWS中运行.NET6容器映像

无法在AWS中运行.NET6容器映像
EN

Stack Overflow用户
提问于 2022-10-03 16:45:22
回答 1查看 78关注 0票数 1

我试图在AWS中运行一个.NET6映像,但是它出错了:

{ "errorMessage":"RequestId: 5aca05-*错误:运行时退出而没有提供原因“,"errorType":"Runtime.ExitError”}*

我不明白它为什么会失败。我使用了以下命令来生成dotnet的包:dotnet publish --configuration Release --framework net6.0 --self-contained true --output output --runtime linux-x64

然后,我使用docker来创建图像,并在ECR.The中更新,lambda给了我上面的错误。

Dockerfile如下:

代码语言:javascript
复制
ARG BRANCH_VERSION=latest
FROM allimages.docker.****.*****.com/*****/***-al2:${BRANCH_VERSION}

COPY output /var/task
COPY entrypoint.sh /var/task
RUN chmod 755 /var/task/entrypoint.sh

ENTRYPOINT ["/var/task/entrypoint.sh"]
CMD ["LambdaAwsCore::LambdaAwsCore.Function::FunctionHandler"]

基本映像是一个常见的私有映像,其中没有dotnet。entrypoint.sh脚本稍后将包含kerberos,但到目前为止,它只是很简单。

代码语言:javascript
复制
#!/bin/bash
set -e
echo "Startup ${@}"

我试过几件事,但不起作用。当我使用AWS dotnet-6映像时,它可以工作,但不提供入口点。我不知道为什么当我添加入口点时,它不起作用。请帮帮忙。我从未在中使用过C#。

EN

回答 1

Stack Overflow用户

发布于 2022-10-06 07:50:55

我设法解决了这个问题。我几乎没有什么需要做的改变。

  1. ,因为我使用的是带有入口点的容器映像。我不得不将代码更改为可执行文件,而不是在有AssemblyName::Namespace.Class::FunctionHandler,的情况下使用CMD格式,而是将其更改为./AssemblyName.
  2. Also,我添加了一行以确保将处理程序作为Function.cs的一部分调用(该文件具有lambda代码)。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73938447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档