当我运行命令时,docker run -i -t myProject
它显示错误:
找不到任何已安装的 .NET Core SDK 您是要运行 .NET Core SDK 命令吗?从以下位置安装 .NET Core SDK:https : //aka.ms/dotnet-download
但是,我确实安装了 .NET Core SDK 并且PATH
是正确的(如下所示:https : //docs.microsoft.com/en-us/aspnet/core/test/troubleshoot?view=aspnetcore-3.1#no-net -core-sdks-were-detected)。
更重要的是,我的项目只需要运行时 .NET Core SDK。
有谁知道可能是什么问题?
运行 dotnet --info 时,我得到:
.NET Core SDK(反映任何 global.json):版本:3.1.101 提交:b377529961
运行时环境:操作系统名称:Windows 操作系统版本:10.0.18363 操作系统平台:Windows RID:win10-x86 基本路径:C:\Program Files (x86)\dotnet\sdk\3.1.101\
主机(用于支持):版本:3.1.1 提交:a1388f194c
已安装的 .NET Core SDK:3.1.101 [C:\Program Files (x86)\dotnet\sdk]
安装的 .NET Core 运行时:Microsoft.AspNetCore.App 3.1.0 [C:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 3.1.1 [C:\Program Files (x86) )\dotnet\shared\Microsoft.AspNetCore.App] Microsoft.NETCore.App 3.1.0 [C:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App] Microsoft.NETCore.App 3.1.1 [C :\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App] Microsoft.WindowsDesktop.App 3.1.0 [C:\Program Files (x86)\dotnet\shared\Microsoft.WindowsDesktop.App] Microsoft.WindowsDesktop。应用程序 3.1.1 [C:\Program Files (x86)\dotnet\shared\Microsoft.WindowsDesktop.App]
要安装其他 .NET Core 运行时或 SDK:https : //aka.ms/dotnet-download
Krz*_*tof 95
对我来说,这发生在我犯错ENTRYPOINT
的时候DOCKERFILE
# Build runtime image
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1
WORKDIR /app
COPY --from=build-env /app/out .
ENTRYPOINT ["dotnet", "SampleAppForDocker.dll"]
Run Code Online (Sandbox Code Playgroud)
确保您在ENTRYPOINT
. 我有错误的dll
文件名。
小智 9
我有这个问题,但我ENTRYPOINT
是正确的。问题在于陈旧或损坏的mcr.microsoft.com/dotnet/core/sdk:3.1
图像。所以我清除了所有内容并重建了 docker 镜像。
对于那些不知道的人,这是如何做到的:
Remove all docker containers: docker rm -f $(docker ps -a -q)
Remove all docker images: docker rmi -f $(docker images)
Run Code Online (Sandbox Code Playgroud)
之后,它工作得很好。
在 的情况下linux
,区分大小写很重要。就我而言,问题在于(顺便说一句,它作为Windows
容器工作)
ENTRYPOINT ["dotnet", "backendapi.dll"]
Run Code Online (Sandbox Code Playgroud)
因为库名称的大小写不同。一旦入口点被正确命名为
ENTRYPOINT ["dotnet", "BackendAPI.dll"]
Run Code Online (Sandbox Code Playgroud)
小智 5
我按照微软提供的.Net Core应用程序教程进行操作,并遇到了同样的问题。我将 docker 文件设置为:
FROM mcr.microsoft.com/dotnet/aspnet:3.1
COPY bin/release/netcoreapp3.1/publish/ App/
WORKDIR /App
ENTRYPOINT ["dotnet", "NetCore.Docker.dll"]
Run Code Online (Sandbox Code Playgroud)
但它没有拉出 mcr.microsoft.com/dotnet/aspnet 图像作为我的构建基础(我假设,因为我还不是这方面的专家)。我对 aspnet 图像执行了拉取请求:
docker pull mcr.microsoft.com/dotnet/aspnet:3.1
Run Code Online (Sandbox Code Playgroud)
它创造了这个形象。然后,我构建了项目的 docker 映像,并创建了容器。在上述操作之后,我的容器和应用程序按预期运行。
归档时间: |
|
查看次数: |
47291 次 |
最近记录: |