将AspNet Core部署到GKE导致连接被拒绝

时间:2019-12-18 22:03:53

标签: asp.net-core google-kubernetes-engine

我正在尝试将示例Asp.Net Core 3.1应用程序部署到GKE,我正在云控制台中构建该应用程序,当我使用以下命令从控制台运行它时,它可以正常运行:“ docker run -p 8080:8080 [图片名称] asp-app:v1“

当我将其部署到GKE中的群集时,我无法到达我的应用程序,我正在使用以下命令公开它:“ kubectl公开部署asp-web --type = LoadBalancer --port 80 --target-port 8080” 我在网络浏览器中收到此错误:“ ERR_CONNECTION_REFUSED”

我设法部署了另一个使用Asp.Net Core 2.2构建的应用程序,因此我在GCP中的设置应该正确。

有人对此有经验吗?

Dockerfile:

FROM mcr.microsoft.com/dotnet/core/aspnet:3.1 AS base
WORKDIR /app
EXPOSE 80

FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build
WORKDIR /src
COPY ["asp/asp.csproj", "asp/"]
RUN dotnet restore "asp/asp.csproj"
COPY . .
WORKDIR /src/asp
RUN dotnet build "asp.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "asp.csproj" -c Release -o /app/publish

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENV ASPNETCORE_URLS http://*:8080
ENTRYPOINT ["dotnet", "asp.dll"]

1 个答案:

答案 0 :(得分:0)

弄清楚了。我创建了一个新项目,并在dockerfile中添加了“ ENV ASPNETCORE_URLS http:// *:8080”,以使其在GKE上的容器中运行时绑定到端口。