通过 HTTPS 调试 dockercompose Visual Studio ASP.NET Core 2.2 获取错误

Debug dockercompose Visual Studio ASP.NET Core 2.2 over HTTPS getting error

我正在努力 运行 Docker 编写 ASP.NET Core 2.2。我正在设置以下内容:

Docker文件

FROM mcr.microsoft.com/dotnet/core/aspnet:2.2-stretch-slim AS base
RUN apt update && apt upgrade -y
WORKDIR /app
EXPOSE 80
EXPOSE 443
...

docker-撰写-override.yml

  identity-api:
    environment:
      - ASPNETCORE_ENVIRONMENT=Development
      - Logging__LogLevel__Default=Warning
      - ASPNETCORE_URLS=https://+:443;http://+:80
      - ASPNETCORE_Kestrel__Certificates__Default__Password=123
      - ASPNETCORE_Kestrel__Certificates__Default__Path=/https/aspnetapp.pfx
    ports:
      - "5015:80"
      - "6015:443"
    networks:
      - default
    volumes:
      - ~/.aspnet/https:/https:ro

我已经生成证书并从 this 配置本地计算机,如下所示:

输出证书如下:

但是当我按F5调试docker-compose时,出现以下错误

Interop.Crypto.OpenSslCryptographicException: 'error:2006D080:BIO routines:BIO_new_file:no such file'

注意:我 运行 Windows 桌面使用基于 WSL 2 的引擎

糟糕,问题是由docker-compose-override.yml

引起的
volumes:
  - ~/.aspnet/https:/https:ro

您应该准确指出 主机路径 ,或者分两步完成:

  • 第 1 步。将 aspnetapp.pfx 复制到您的根项目(dockercompose.override.yml 相同级别)文件中。
https/aspnetapp.pfx
  • 步骤 2. 将 docker-compose-override.yml 中的 host path 更改为
volumes:
  - ./https/aspnetapp.pfx:/https/aspnetapp.pfx:ro