我的任务之一是容器化 ASP.NET Core 8 应用程序并将其配置为使用单个命令“docker-compose up”。我使用 C# 在 ASP.NET Core 8 中开发了该应用程序。这是我第一次使用 Docker。
我已成功进行设置,以便当我使用 Docker Compose(按钮)从 Visual Studio 运行项目时,一切正常。但是,当我在 PowerShell 中运行
docker-compose up
时,应用程序启动时没有错误,但无论我尝试哪个端口,都无法在浏览器中访问它。我什至将端口添加到 Windows 防火墙,但仍然不起作用。我做错了什么?
我的github:https://github.com/baro0000/DockerTests
我尝试更改端口、关闭防病毒软件、防火墙、重新启动,但没有任何帮助。
您没有在“docker-compose.override.yml”中指定https的pfx。我看到你有“docker-comose.debug.yml”,所以也许你已经尝试过这个文档https://learn.microsoft.com/en-us/aspnet/core/security/docker-compose-https?view= aspnetcore-8.0#windows-using-linux-containers。如果它有效,您可以首先尝试使用默认的 pfx 进行类似的配置,并显式写入端口映射。
version: '3.4'
services:
sotags:
environment:
- ASPNETCORE_ENVIRONMENT=Development
- ASPNETCORE_HTTP_PORTS=8090
- ASPNETCORE_HTTPS_PORTS=8091
- ASPNETCORE_Kestrel__Certificates__Default__Password=password
- ASPNETCORE_Kestrel__Certificates__Default__Path=/https/aspnetapp.pfx
ports:
- 8090:8090
- 8091:8091
volumes:
- ${APPDATA}/Microsoft/UserSecrets:/home/app/.microsoft/usersecrets:ro
- ~/.aspnet/https:/https:ro