当我在Windows docker桌面中运行Docker映像时,为什么会收到此消息?
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
我使用以下命令开始构建镜像: docker build -t idp -f Dockerfile.IDP。
接下来,我使用以下命令启动映像: docker run --name idp -it -dt -p 8443:443 idp
这是我的Dockerfile的样子:
FROM mcr.microsoft.com/dotnet/core/sdk:3.1-alpine AS build
# copy this first so the restore layer gets cached when the csproj files are unchanged
COPY ./*.sln ./
COPY ./src/ProjectA/ProjectA.csproj ./src/ProjectA/
WORKDIR /src
RUN dotnet restore ./ProjectA/ProjectA.csproj
COPY . /
RUN dotnet build ./ProjectA/ProjectA.csproj -c release --no-restore
FROM build AS publish
RUN dotnet publish ./ProjectA/ProjectA.csproj -c release --no-build -o /app/publish
COPY ./*.pfx /app/publish
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-alpine AS runtime
WORKDIR /app
COPY --from=publish /app/publish ./
RUN apk add --no-cache icu-libs
ENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=false
ENV ASPNETCORE_URLS="https://+:443"
ENV TZ=Europe/Amsterdam
VOLUME /app
ENTRYPOINT ["dotnet", "ProjectA.dll"]
EXPOSE 443
这里我漏掉了什么?
有时有效,有时不起作用。
最理想的方法是在带有.NET的容器上运行LinuxCore3.1应用程序。
我已经在寻找一个可以帮助我的被接受的答案,但到目前为止我还没有找到任何答案。
不知何故,我让它与folling一起工作:
docker拉取mcr.microsoft.com/dotnet/aspnet:3.1
docker拉取mcr.microsoft.com/dotnet/aspnet:最新
docker拉取mcr.microsoft.com/dotnet/sdk:3.1
docker拉取mcr.microsoft.com/dotnet/sdk:最新
和构建,并使用上面给出的命令运行。
它神奇地起作用了。但我对它时而有效,时而无效并不感到好笑。在我启动它之后,我删除了mcr。*再次拉起并重新启动应用程序,它仍然可以工作。有没有什么想法,为什么以及如何解决这个问题呢?
https://stackoverflow.com/questions/67345804
复制相似问题