适用于 .NET Core 的 AWS CDK 在“ApplicationLoadBalancedFargateService”任务处挂起

问题描述 投票:0回答:1

我有一个具有以下结构的 ASP.NET Core 8 Web API 项目:

.sln
 |_ Api.csproj
 |_ SharedLibrary.csproj
 |_ Dockerfile

Api.csproj
参考文献
SharedLibrary.csproj
。我能够构建 docker 映像并在我的 docker 桌面上本地运行它。

我将以下 Fargate 部署代码块添加到我的 CDK 堆栈中:

new ApplicationLoadBalancedFargateService(this, "docker-tag", new ApplicationLoadBalancedFargateServiceProps
{
    Cluster = cluster,
    DesiredCount = 1,
    TaskImageOptions = new ApplicationLoadBalancedTaskImageOptions
    {
        Image = ContainerImage.FromAsset("../../src/"),
        ContainerPort = 8080
    },
    MemoryLimitMiB = 512,
    PublicLoadBalancer = false
});

执行

cdk deploy
时,终端保持空白,不提供任何输出。我尝试了
cdk deploy --verbose
,它显示了一些与 Fargate 任务无关的初始输出,然后挂在那里。

我什至尝试提供 Dockerfile 的绝对路径,但结果是相同的。

如果有人知道可能会发生什么,我将非常感激。

如果我改变了

cdk deploy
就可以正常工作了

Image = ContainerImage.FromAsset("../../src/")

Image= ContainerImage.FromRegistry("amazon/amazon-ecs-sample")
c# amazon-web-services aws-cdk .net-8.0 aws-fargate
1个回答
0
投票

折腾了这么多天才发现这个问题。我的 docker 文件位于解决方案的根级别。这导致 CDK 资产在 docker 构建期间被复制。将 CDK 文件夹添加到 dockerignore 并且它起作用了。非常令人失望的是

cdk deploy
没有给出任何有助于解决问题的错误输出。

© www.soinside.com 2019 - 2024. All rights reserved.