从VS2019开始运行Docker容器的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从VS2019开始运行Docker容器的问题相关的知识,希望对你有一定的参考价值。
我建立了一个.Net Core 3.0控制台应用程序,该应用程序使用Telerik生成pdf报告。 Telerik利用GDI +库来执行此操作。该应用程序消耗了一个内部开发的dll,该dll依赖于Windows事件日志,因此不幸的是,目前无法在Linux上进行托管。
我正在尝试在Docker容器中运行此应用,但在使用完整的Windows server core图像时,努力通过Visual Studio 2019使它运行。据我了解,这是唯一需要GDI +库的图像。
[使用servercore:1803时,通过Visual Studio运行时收到此错误:“无法启动程序'C: Program Files dotnet dotnet.exe'。系统找不到指定的路径。”] >
这是我完整的dockerfile。当您选择“添加-> Docker支持...”时,这正是Visual Studio所添加的内容,所使用的图像除外。请注意,当我使用3.0-nanoserver-1803
时,Visual Studio会按预期运行容器,但是在执行需要GDI的报告生成代码时失败。FROM mcr.microsoft.com/windows/servercore:1803 AS base #FROM mcr.microsoft.com/dotnet/core/runtime:3.0-nanoserver-1803 AS base WORKDIR /app FROM mcr.microsoft.com/windows/servercore:1803 AS build #FROM mcr.microsoft.com/dotnet/core/sdk:3.0-nanoserver-1803 AS build WORKDIR /src COPY ["DM.Web.Reporting.Background/DM.Web.Reporting.Background.csproj", "DM.Web.Reporting.Background/"] RUN dotnet restore "DM.Web.Reporting.Background/DM.Web.Reporting.Background.csproj" COPY . . WORKDIR "/src/DM.Web.Reporting.Background" RUN dotnet build "DM.Web.Reporting.Background.csproj" -c Release -o /app/build FROM build AS publish RUN dotnet publish "DM.Web.Reporting.Background.csproj" -c Release -o /app/publish FROM base AS final WORKDIR /app COPY --from=publish /app/publish . ENTRYPOINT ["dotnet", "DM.Web.Reporting.Background.dll"]
我在这里做错什么了吗?我是Docker新手,所以希望我只是想念一些简单的东西。
我已经构建了.Net Core 3.0控制台应用程序,该应用程序使用Telerik生成pdf报告。 Telerik利用GDI +库来执行此操作。该应用程序使用内部开发的dll,该dll具有依赖项...
这是因为您已经从.NET Core运行时和SDK基本映像更改为Windows Server Core映像:
FROM mcr.microsoft.com/windows/servercore:1803 AS build
#FROM mcr.microsoft.com/dotnet/core/sdk:3.0-nanoserver-1803 AS build
以上是关于从VS2019开始运行Docker容器的问题的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Docker 容器中运行 VS Code 的扩展开发主机来测试我的 vscode 扩展?
如何从游牧民族运行 cassandra docker 容器?
使用 vs 代码对本机 docker 容器做出反应以发布到主机操作系统上的 android 模拟器
VS Code 没有为在 Docker 容器中运行的 Node 应用程序打断点