【发布时间】:2021-04-26 09:09:26
【问题描述】:
我正在尝试在本地机器上的 docker 容器中测试我的应用程序的发布版本,当我启动容器时,我不断收到以下警告,并且它拒绝了请求:
Unable to bind to http://localhost:5000 on the IPv6 loopback interface: 'Cannot assign requested address'.
我检查了this post,这不是问题所在,我还无法找到问题的根本原因。当我提出要求时,他们被拒绝了。该应用程序在 Docker 之外正常工作。下面是我的dotnet publish 命令:
dotnet publish .\Sistema.Cadastro.Api\Sistema.Cadastro.Api.csproj -c Release --runtime linux-musl-x64 --interactive --no-self-contained
发布后,我生成我的容器。下面是我的Dockerfile
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1
EXPOSE 5000
EXPOSE 5001
COPY System.Cadastro.Api/bin/Release/netcoreapp3.1/linux-musl-x64/publish/ /app
WORKDIR /app
ENTRYPOINT ["dotnet", "Sistema.Cadastro.Api.dll"]
构建容器后,我使用下面的docker-compose.yaml 来启动它:
version: '3'
services:
siefcadapi:
container_name: sistemacadapi
image: localdocker/sistema.cadastro.api:latest
ports:
- 5000:5000
- 5001:5001
environment:
- "ASPNETCORE_URLS=https://+:5001;http://+:5000"
下面是生成的日志:
docker-compose -f .\.docker\docker-compose.yaml up
Recreating sistemacadapi ... done
Attaching to sistemacadapi
sistemacadapi | warn: Microsoft.AspNetCore.Server.Kestrel[0]
sistemacadapi | Unable to bind to http://localhost:5000 on the IPv6 loopback interface: 'Cannot assign requested address'.
sistemacadapi | info: Microsoft.Hosting.Lifetime[0]
sistemacadapi | Now listening on: http://localhost:5000
sistemacadapi | info: Microsoft.Hosting.Lifetime[0]
sistemacadapi | Application started. Press Ctrl+C to shut down.
sistemacadapi | info: Microsoft.Hosting.Lifetime[0]
sistemacadapi | Hosting environment: Production
sistemacadapi | info: Microsoft.Hosting.Lifetime[0]
sistemacadapi | Content root path: /app
我不需要在容器内进行调试,或者什么都不需要。我只想运行和测试我的应用程序,以便可以推送到 Azure 以在云端运行。
【问题讨论】:
标签: docker docker-compose asp.net-core-webapi asp.net-core-3.1