ASPNETCORE容器在linux服务器上加载,但“图像操作系统”窗口“不能在这个平台上使用”

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ASPNETCORE容器在linux服务器上加载,但“图像操作系统”窗口“不能在这个平台上使用”相关的知识,希望对你有一定的参考价值。

另一天,另一个码头工人的问题。我目前正在一个容器中的aspnetcore应用程序,我想在Ubuntu 18.04上运行。这是我的Dockerfile:

FROM microsoft/aspnetcore:2.0 AS base
WORKDIR /app
EXPOSE 80

FROM microsoft/aspnetcore-build:2.0 AS build
RUN dotnet restore FOLDER
RUN dotnet build FOLDER
FROM build AS publish
RUN dotnet publish
(I didn't put names or some steps as copy)

在我的部署CI中,它返回图像操作系统“windows”不能在此平台上使用。我已将这两张图片直接放在服务器上,然后就可以了。

我最初用--isolation = hyperv构建。

我对linux容器和服务器都很陌生,因此我不确定问题出在哪里......

谢谢你的帮助!

答案

基本上,您无法在Linux中运行Windows容器。

取自Can Windows Containers be hosted on linux?

容器不是用于虚拟化,而是使用主机的资源。因此,目前windows容器无法在linux机器上“按原样”运行。但是 - 你可以通过使用VM来实现 - 因为它适用于Windows。您可以在Linux主机上安装Windows VM,这将允许运行Windows容器。

以上是关于ASPNETCORE容器在linux服务器上加载,但“图像操作系统”窗口“不能在这个平台上使用”的主要内容,如果未能解决你的问题,请参考以下文章

控制器未加载.AspNetCore.Identity.Application用户cookie

8天入门docker系列 —— 第二天 通过一个aspnetcore程序加深对容器的理解

Docker在Linux上运行NetCore系列使用私有Nuget与多个本地包引用运行ASPNetCore

第一个Docker 镜像 ASPNETCORE

Docker在Linux上运行NetCore系列使用私有Nuget与多个本地包引用运行ASPNetCore

IFormFile 未从程序集“Microsoft.AspNetCore.Http 3.0”加载类型 Microsoft.AspNetCore.Http.Internal.FormFile'