我是一名有用的助手,可以为您翻译文本。
我有一个关于在Docker上公开我的.Net Core应用程序的问题。
我的Dockerfile如下所示:
我来翻译一下:
但我原本期望的是:
我有一个关于在Docker上公开我的.Net Core应用程序的问题。
我的Dockerfile如下所示:
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-bionic AS base
WORKDIR /app
EXPOSE 80
FROM mcr.microsoft.com/dotnet/core/sdk:3.1-bionic AS build
WORKDIR /src
我来翻译一下:
我构建并运行:
docker run -d -p 8080:80 --name test testapp
容器启动了,但我无法通过端口8080访问应用程序。
在容器日志中,我可以看到:
warn: Microsoft.AspNetCore.Server.Kestrel[0]
Unable to bind to http://localhost:5000 on the IPv6 loopback interface: 'Cannot assign requested address'.
info: Microsoft.Hosting.Lifetime[0]
Now listening on: http://localhost:5000
但我原本期望的是:
Now listening on: http://[::]:80
为什么我的应用程序无法从外部访问,即使我使用8080:5000运行它,我还不明白为什么端口号不是80。
在容器内部从localhost:5000使用CURL可以正常返回HTML。
CMD
或ENTRYPOINT
部分? - Christian Fosli