Py学习  »  docker

aspnetcore docker容器上的开发人员证书

Vočko • 3 年前 • 1348 次点击  

我是Docker新手,在Docker中运行我的应用程序时遇到了问题,因为缺少ssl证书。如何在docker中使用开发人员证书在非开发环境下运行aspnetcore应用程序?

我有以下几点 Dockerfile 由Visual Studio生成:

FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443

FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
WORKDIR /src
COPY ["MyApp/MyApp.csproj", "MyApp/"]
COPY [...other libraries...]
RUN dotnet restore "MyApp/MyApp.csproj"
COPY . .
WORKDIR "/src/MyApp"
RUN dotnet build "MyApp.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "MyApp.csproj" -c Release -o /app/publish

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "MyApp.dll"]

当我使用默认设置(开发)从VisualStudio运行它时,它连接Docker,一切正常。但是,我想使用不同的appsettings文件( appsettings.docker.json )因为我在Docker中运行时需要一些不同的值,而且我已经在使用我的 appsettings.development.json 为我的标准运行从VS。因此,我设置 ASPNETCORE_ENVIRONMENT=Docker .这让我很痛苦,因为我突然得了感冒 InvalidOperationException :

System.InvalidOperationException: Unable to configure HTTPS endpoint. No server certificate was specified, and the default developer certificate could not be found or is out of date.

To generate a developer certificate run 'dotnet dev-certs https'. To trust the certificate (Windows and macOS only) run 'dotnet dev-certs https --trust'.

基于 this 答案是,我发现当环境变量为 Development .对于一个不同的环境,如何解决这个问题?

我确实试过使用 dotnet dev-certs https 但是,Dockerfile中的命令生成失败,因为映像中没有sdk,因此不知道该命令。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/129393
 
1348 次点击  
文章 [ 1 ]  |  最新文章 3 年前