当我想在docker下运行我的应用程序(Asp.Net Core 2.2)时遇到问题。
首先,我使用以下方法创建了自签名证书:
dotnet dev-certs https -v -ep d:\temp\cert-aspnetcore.pfx -p ufo
之后,我将其复制到cert-aspnetcore.pfx到C:\ Users \ MyUsername.aspnet \ https位置
这是我的docker-compose.yml
version: '3.4'
services:
testapi.api:
image: ${DOCKER_REGISTRY-}testapi
build:
context: .
dockerfile: TestApi.Api/Dockerfile
和docker-compose.override.yml
> version: '3.4'
>
> services: testapi.api:
> environment:
> - ASPNETCORE_ENVIRONMENT=Development
> - ASPNETCORE_URLS=https://+:443;http://+:80
> - ASPNETCORE_HTTPS_PORT=44395
> - ASPNETCORE_Kestrel__Certificates__Default__Password=ufo
> - ASPNETCORE_Kestrel__Certificates__Default__Path=/root/.aspnet/https/cert-aspnetcore.pfx
> ports:
> - "9000:80"
> - "44395:443"
> volumes:
> - ${APPDATA}/ASP.NET/Https:/root/.aspnet/https:ro
> - ${APPDATA}/Microsoft/UserSecrets:/root/.microsoft/usersecrets:ro
但是当我尝试运行docker-compose up --build我得到:
暴击:Microsoft.AspNetCore.Server.Kestrel [0]无法启动Kestrel。 System.InvalidOperationException:无法配置HTTPS端点。 未指定服务器证书,并且是默认开发者 找不到证书。
如果您需要任何信息,请告诉我。非常感谢!
答案 0 :(得分:0)
我认为您不接受创建的证书。
您可以尝试在cmd或powershell上运行此代码行吗?
dotnet开发人员证书https --trust
https://docs.microsoft.com/en-us/aspnet/core/security/docker-https?view=aspnetcore-3.0