在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。
当我开始新任务时,我有错误:
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 实例的停止/启动?