当前位置: 首页 > 知识库问答 >
问题:

无法绑定到IPv6环回接口上的http://localhost:5000:'无法分配请求的地址'

和季
2023-03-14

我正在使用asp。net core 3.1 docker支持的项目模板(VS2019)用于开发web API。没有编译错误。

运行项目时,在VS2019的输出窗口中,我看到以下消息:

Unable to bind to http://localhost:5000 on the IPv6 loopback interface: 'Cannot assign requested address'.
Loaded '/usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.0/System.Collections.NonGeneric.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
Loaded '/usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.0/System.Security.Cryptography.OpenSsl.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
Loaded '/usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.0/System.Security.Cryptography.Encoding.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
Loaded '/usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.0/System.Runtime.Numerics.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
Microsoft.AspNetCore.Server.Kestrel: Warning: Unable to bind to https://localhost:5001 on the IPv6 loopback interface: 'Cannot assign requested address'.
[40m[1m[33mwarn[39m[22m[49m: Microsoft.AspNetCore.Server.Kestrel[0]
      Unable to bind to https://localhost:5001 on the IPv6 loopback interface: 'Cannot assign requested address'.
[40m[32minfo[39m[22m[49m: Microsoft.Hosting.Lifetime[0]
      Now listening on: http://localhost:5000
Microsoft.Hosting.Lifetime: Information: Now listening on: http://localhost:5000
[40m[32minfo[39m[22m[49m: Microsoft.Hosting.Lifetime[0]
      Now listening on: https://localhost:5001
Microsoft.Hosting.Lifetime: Information: Now listening on: https://localhost:5001
Microsoft.Hosting.Lifetime: Information: Application started. Press Ctrl+C to shut down.
[40m[32minfo[39m[22m[49m: Microsoft.Hosting.Lifetime[0]
      Application started. Press Ctrl+C to shut down.
[40m[32minfo[39m[22m[49m: Microsoft.Hosting.Lifetime[0]
      Hosting environment: Development
Microsoft.Hosting.Lifetime: Information: Hosting environment: Development
Microsoft.Hosting.Lifetime: Information: Content root path: /src/QueryStack/Author.Query.New.API
[40m[32minfo[39m[22m[49m: Microsoft.Hosting.Lifetime[0]
      Content root path: /src/QueryStack/Author.Query.New.API

这是我的Docker.develop文件:

FROM mcr.microsoft.com/dotnet/core/sdk:3.1
ARG BUILD_CONFIGURATION=Debug
ENV ASPNETCORE_ENVIRONMENT=Development
ENV DOTNET_USE_POLLING_FILE_WATCHER=true    
EXPOSE 80

WORKDIR /src
COPY ["QueryStack/Author.Query.New.API/Author.Query.New.API.csproj", "QueryStack/Author.Query.New.API/"]
COPY ["QueryStack/Author.Query.Persistence/Author.Query.Persistence.csproj", "QueryStack/Author.Query.Persistence/"]
COPY ["Common/Author.Core.Framework/Author.Core.Framework.csproj", "Common/Author.Core.Framework/"]
COPY ["Common/Author.Core.Services.Rediscache/Author.Core.Services.Rediscache.csproj", "Common/Author.Core.Services.Rediscache/"]
COPY ["QueryStack/Author.Query.Domain/Author.Query.Domain.csproj", "QueryStack/Author.Query.Domain/"]
COPY ["Common/Author.Core.Services.Persistence.CosmosDB/Author.Core.Services.Persistence.CosmosDB.csproj", "Common/Author.Core.Services.Persistence.CosmosDB/"]

RUN dotnet restore "QueryStack/Author.Query.New.API/Author.Query.New.API.csproj"
COPY . .
WORKDIR "/src/QueryStack/Author.Query.New.API"
RUN dotnet build --no-restore "Author.Query.New.API.csproj" -c $BUILD_CONFIGURATION

RUN echo "exec dotnet run --no-build --no-launch-profile -c $BUILD_CONFIGURATION --" > /entrypoint.sh

ENTRYPOINT ["/bin/bash", "/entrypoint.sh"]

有人能在这里帮助我提供他们的指导来解决这个问题吗

共有1个答案

仲孙鸿畴
2023-03-14

要解决此问题,请在Dockerfile顶部的其他ENV声明下面添加代码ENV ASPNETCORE_url=http://:80。开发文件

Dockerfile。在以下情况下发展:

FROM mcr.microsoft.com/dotnet/core/sdk:3.1
ARG BUILD_CONFIGURATION=Debug
ENV ASPNETCORE_ENVIRONMENT=Development
ENV DOTNET_USE_POLLING_FILE_WATCHER=true  
ENV ASPNETCORE_URLS=http://+:80  
EXPOSE 80
 类似资料:
  • 问题内容: 如标题所示,我有一个无法从主机端口绑定到容器端口的容器。我尝试搜索类似的问题,但是自从Microsoft 在sdk映像中引入了带有dotnet watch 的docker repo 以来,没有发现与在docker容器中使用dotnet watch相关的任何信息。 对于我在做什么错的任何建议,我们将不胜感激。 Docker文件 docker-compose.yml 完成错误: 问题答案:

  • > 我已经用以下接口配置了Ubuntu Linux系统&分配的IPV6地址如下: eth2:链路封装:以太网HWaddr 00:50:56:8D:56:14 inet ADDR:192.168.2.10BCAST:0.0.0掩码:255.255.255.0 inet6 ADDR:FC00:1234:2::10/120作用域:全局 inet6 ADDR:FE80::250:56FF:FE8D:561

  • 我已经使用FTP部署了我的应用程序好几次,一直工作到现在。我没有使用docker,所以我想azure会在我上传文件后对我的应用程序进行docker。我得到两个错误,我不确定是否与端口,我的设置有关。json,我的启动项目。。。我使用的是NetCore 3.1和angular 6。 我已尝试添加端口、ASPNETCORE\u URL。。。以及Azure应用程序设置的其他变量。。。 下面是错误: Az

  • 我正在尝试编写一个C程序来侦听我机器上的端口。我遇到了一个奇怪的错误。 每当我尝试将套接字绑定到固定IP(或我的实际IP)时,我都会收到错误。但是,当我作为要绑定到的地址传递给绑定时,它的工作原理。 这些是我仅有的两个IP,因此0.0.0.0不能因为我可用的其他IP地址而起作用。 代码如下:

  • 问题内容: 设置:我有一个虚拟机,并且在虚拟机中运行三个容器(一个Nginx代理,一个非常简单的Flask应用程序和Redis)。烧瓶应在5000端口上使用,而Redis应在6379上使用。 这些容器中的每个容器都可以独立运行,并且运行良好,也可以通过docker compose as a service来使用 。 在flask应用程序中,我的目标是连接到Redis并查询一些密钥。 Nginx容器

  • 问题内容: 我想在我的应用程序中使用低端口(Spring Web上的SNMP陷阱接收器+ Tomcat7)。正如我之前在此线程将低端口绑定到Ubuntu Server上的Java程序中所告诉的那样,我收到了错误权限被拒绝。然后,我将tomcat7用户组更改为root。但是之后,我得到了java.net.BindException:无法分配请求的地址错误。对于我尝试的每个端口(低端口或高端口),我总