【问题标题】:asp.net core docker image cannot find the installed sdkasp.net core docker镜像找不到安装的sdk
【发布时间】:2020-06-18 06:35:40
【问题描述】:

我创建了一个 Asp.net 核心项目,使用:

dotnet new webapi

我已将以下 Dockerfile 添加到我的项目中:

# https://hub.docker.com/_/microsoft-dotnet-core
FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build
WORKDIR /app

# copy csproj and restore as distinct layers
COPY *.csproj ./
RUN dotnet restore

# copy everything else and build app
COPY . ./
RUN dotnet publish -c release -o out

# final stage/image
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1 AS runtime
WORKDIR /app
EXPOSE 80
COPY --from=build /app/out ./
ENTRYPOINT ["dotnet", "myaspnetapp.dll"]

我可以构建图像,但是当我运行它时,我收到以下错误:

  It was not possible to find any installed .NET Core SDKs
  Did you mean to run .NET Core SDK commands? Install a .NET Core SDK from:
      https://aka.ms/dotnet-download

你能告诉我我在这里缺少什么吗?

【问题讨论】:

  • 你试过了吗:FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base

标签: docker .net-core asp.net-core-webapi


【解决方案1】:

我最好的猜测是你手动编码了这个Dockerfile。 我自己手写的Dockerfile 运气不好。

使用 Visual Studio 添加 docker 文件。

  1. 右键解决方案。
  2. 点击添加
  3. 单击 Docker 支持。

您应该在下面看到Dockerfile

FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
WORKDIR /app
EXPOSE 80

FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster AS build
WORKDIR /src
COPY ["myaspnetapp.csproj", ""]
RUN dotnet restore "./myaspnetapp.csproj"
COPY . .
WORKDIR "/src/."
RUN dotnet build "myaspnetapp.csproj" -c Release -o /app/build

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

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

希望这会解决它。 当我发现它时,我会在答案中添加更多内容。

【讨论】:

  • 我最终做到了。谢谢你的回答:)
猜你喜欢
  • 2020-03-11
  • 2021-07-24
  • 1970-01-01
  • 2018-11-12
  • 2020-10-25
  • 2022-01-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多