Ubuntu上带有Docker的ASP.NET核心HTTP错误404



我是docker的新手,我正试图在Ubuntu上的docker容器上运行一个简单的ASP.NET Core 6应用程序,但是,当我试图通过Google Chrome访问应用程序时,我遇到了HTTP ERROR 404错误。

This is my Dockerfile:
# syntax=docker/dockerfile:1
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build-env
WORKDIR /app
EXPOSE 5000
ENV ASPNETCORE_URLS=http://+:5000

# Copy csproj and restore as distinct layers
COPY *.csproj ./
RUN dotnet restore

# Copy everything else and build
COPY ./ ./
RUN dotnet publish -c Release -o out

# Build runtime image
FROM mcr.microsoft.com/dotnet/aspnet:6.0
WORKDIR /app
COPY --from=build-env /app/out .
ENTRYPOINT ["dotnet", "TesteDocker.dll"]

我已禁用Program.cs 上的HTTPS重定向

我正在使用以下命令来构建映像并运行容器:

docker build -t testedocker .
docker run -d -p 5000:5000 --name testedocker_container testedocker

尝试以这种方式访问应用程序URL:http://localhost:5000/swagger

我做错了什么?

默认情况下,Swagger仅在应用程序以开发模式运行时可用。默认情况下,Docker不是开发模式。

为了使它在开发模式下运行,您可以在运行容器时将ASPNETCORE_ENVIRONMENT环境变量设置为"development",如以下

docker run -d -p 5000:80 -e ASPNETCORE_ENVIRONMENT=Development --name testedocker_container testedocker

然后你应该能够访问招摇页面。

最新更新