dotnet core docker web api没有连接

Posted

技术标签:

【中文标题】dotnet core docker web api没有连接【英文标题】:dotnet core docker web api not connecting 【发布时间】:2021-04-11 10:27:58 【问题描述】:

我正在努力让我的 docker 容器在 localhost 上侦听(不断获取站点无法访问)。我遵循了有关 jetbrains 的官方指南以及我在网上找到的其他一些指南,但仍然没有运气。

在我的本地开发中,我希望我的 Web API 容器和 Postgres 容器能够相互通信,但是当它们上线时,它们将与 en RDS 实例通信

Docker 文件

FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS base
WORKDIR /app
EXPOSE 8080
ENV ASPNETCORE_URLS=http://+:8080

# Copy csproj and restore as distinct layers
FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build
WORKDIR /src
COPY . .
RUN dotnet restore "api/api.csproj"
WORKDIR "/src/api"
RUN dotnet build "api.csproj" -c Release -o /app

FROM build AS publish
WORKDIR "/src/api"
RUN dotnet publish "api.csproj" -c Release -o /app

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

启动设置

  "$schema": "http://json.schemastore.org/launchsettings.json",
  "iisSettings": 
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": 
      "applicationUrl": "http://localhost:14317",
      "sslPort": 44301
    
  ,
  "profiles": 
    "IIS Express": 
      "commandName": "IISExpress",
      "launchBrowser": true,
      "launchUrl": "",
      "environmentVariables": 
        "ASPNETCORE_ENVIRONMENT": "Development"
      
    ,
    "wander.api": 
      "commandName": "Project",
      "launchBrowser": true,
      "launchUrl": "",
      "applicationUrl": "https://localhost:8081;http://localhost:8080",
      "environmentVariables": 
        "ASPNETCORE_ENVIRONMENT": "Development"
      
    
  

我的 Docker 调试配置

我的码头工人 PS

【问题讨论】:

【参考方案1】:

请分享您的docker run 命令。我确定你指定了-p 选项。

我猜它如下所示:

docker run <cotainer id> -p 57000:8080

8080 将在 docker 容器网络中使用。

您可以从主机访问使用57000 的API。

【讨论】:

以上是关于dotnet core docker web api没有连接的主要内容,如果未能解决你的问题,请参考以下文章

docker生成dotnet core镜像

DOCKER上运行DOTNET CORE

ASP.NET Core分布式项目实战Docker制作dotnet core控制台程序镜像

dotNet Core 3.1 使用 Aspose (部署 Docker)

Step By Step将Dotnet Core部署到Docker上

无法调试 dotnet core GenericHost docker 容器