在Amazon ECS EC2任务中启动userland proxy:0.0.0.0:25时出错

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Amazon ECS EC2任务中启动userland proxy:0.0.0.0:25时出错相关的知识,希望对你有一定的参考价值。

我有带EC2启动类型的Amazon ECS群集。

我尝试使用25和587端口映射运行docker(Linux)容器。

Dockerfile非常简单:

FROM microsoft/dotnet:2.0-runtime AS base
WORKDIR /app

FROM microsoft/dotnet:2.0-sdk AS build
WORKDIR /src
COPY *.sln ./
COPY MailTool.Smtp/MailTool.Smtp.csproj MailTool.Smtp/
RUN dotnet restore
COPY . .
WORKDIR /src/MailTool.Smtp
RUN dotnet build -c Release -o /app

FROM build AS publish
RUN dotnet publish -c Release -o /app

FROM base AS final
WORKDIR /app
COPY --from=publish /app .
EXPOSE 25
EXPOSE 587
ENTRYPOINT ["dotnet", "MailTool.Smtp.dll"]

我已经使用了我的任务定义的默认设置。

任务定义网络模式是Bridge。

我已经映射了端口,如截图所示:enter image description here

当我开始新任务时,我有错误:

Status reason   CannotStartContainerError: API error (500): driver failed programming external connectivity on endpoint ecs-1-8-1-febb999cf990b2f53700 (646613a2e4c7ae1f0c8e82a2100d468eba09c7dbd64caddde3d14901d14a775c): Error starting userland proxy: listen tcp 0.0.0.0:25

我只在Linux类型的容器上有错误。如果我使用Windows类型容器,那么一切正常。

如果我更改映射125(主机端口) - > 25(容器端口),那么任务也可以正常工作。

据我所知,Linux的25端口不可用......

如何在Amazon DockS容器的Amazon ECS EC2实例上使用端口25?

答案

Amazon默认禁用这些端口。

看看亚马逊documentation

您需要向Amazon支持部门请求启用必要的端口。

我相信它会有所帮助。

以上是关于在Amazon ECS EC2任务中启动userland proxy:0.0.0.0:25时出错的主要内容,如果未能解决你的问题,请参考以下文章

在 Beanstalk 部署或 ECS 任务不使用时安排 EC2 实例的停止/启动?

Amazon ECS 中的最小健康百分比和最大百分比是多少

Amazon ECS 未扩展实例

如何使用 boto3 在集群中启动 EC2 实例

使用Learner Lab - 如何启动管理和监控Amazon EC2实例以及调整其大小

是否有引导脚本在启动时将 Amazon SSM 代理安装到 EC2 Windows 实例中?