【发布时间】:2019-10-30 10:19:33
【问题描述】:
当我想在 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 我得到:
crit: Microsoft.AspNetCore.Server.Kestrel[0] 无法启动 Kestrel。 System.InvalidOperationException:无法配置 HTTPS 端点。 未指定服务器证书,默认开发者 找不到证书。
如果您需要任何信息,请告诉我。非常感谢!
【问题讨论】:
-
您是否尝试过使用类似 tail -f /dev/null 的内容覆盖容器的默认入口点/命令,以防止容器被破坏,然后在容器上运行 shell 以查看是否文件夹结构是否正确?
标签: .net docker asp.net-core docker-compose