簡體   English   中英

Docker 構建找不到 NETFramework 版本 5

[英]Docker build can't find NETFramework Version 5

我使用帶有 CentOS 的系統來托管我的 ASP.NET Core API。 我想通過 Docker 實現這一點。 然后我在我的服務器上安裝了必要的 SDK。

sudo dnf install dotnet-sdk-5.0

這是目前的狀態。

在此處輸入圖片說明

然后我創建了一個看起來像這樣的 Dockerfile。

FROM microsoft/dotnet:latest

COPY ./coinz-api /app
WORKDIR /app

RUN ["dotnet", "restore"]
RUN ["dotnet", "build"]

ENV ASPNETCORE_URLS http://*:5001

EXPOSE 5001

ENTRYPOINT ["dotnet", "run"] 

當我嘗試構建 Docker 容器時,會發生這種情況。

在此處輸入圖片說明

在我看來,所需的 SDK 及其運行時已安裝。 那么錯誤在哪里呢? 我有錯誤的版本嗎?

編輯:這是我的目標。 (對不起,它是德語...)

在此處輸入圖片說明

您使用的是過時的容器:


$ podman run -it docker.io/microsoft/dotnet:latest dotnet --info
.NET Core SDK (reflecting any global.json):
 Version:   2.1.816
 Commit:    f03a7f8e72

Runtime Environment:
 OS Name:     debian
 OS Version:  9
 OS Platform: Linux
 RID:         debian.9-x64
 Base Path:   /usr/share/dotnet/sdk/2.1.816/

Host (useful for support):
  Version: 2.1.28
  Commit:  612cb8b183

.NET Core SDKs installed:
  2.1.816 [/usr/share/dotnet/sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.1.28 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.28 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.1.28 [/usr/share/dotnet/shared/Microsoft.NETCore.App]

To install additional .NET Core runtimes or SDKs:
  https://aka.ms/dotnet-download

這是一個 .NET Core 2.1 容器鏡像!

您應該使用較新的 .NET 容器映像。 較新的 .NET 容器映像發布在 mcr.microsoft.com 上。 docker docs 上的官方 .NET建議如下:

FROM mcr.microsoft.com/dotnet/sdk:5.0

也就是說,如果您希望您的容器映像與 CentOS 主機匹配,您還可以從 CentOS 容器映像開始,在其中安裝 .NET SDK。 也許是這樣的?

FROM registry.centos.org/centos:8

RUN "sudo dnf install -y dotnet-sdk-5.0"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM