通常我将以下图像用于 .net core 3.1 并且它工作正常。
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster AS build
Run Code Online (Sandbox Code Playgroud)
我出于实验原因启动了一个新的 .net 5 项目并创建dockerfile了以下内容
FROM mcr.microsoft.com/dotnet/core/aspnet:5.0-buster-slim AS base
FROM mcr.microsoft.com/dotnet/core/sdk:5.0-buster AS build
Run Code Online (Sandbox Code Playgroud)
并有以下问题:
=> ERROR [internal] load metadata for mcr.microsoft.com/dotnet/core/sdk:5.0-buster 0.2s
=> ERROR [internal] load metadata for mcr.microsoft.com/dotnet/core/aspnet:5.0-buster-slim 0.2s
=> CANCELED [build 1/7] FROM mcr.microsoft.com/dotnet/core/sdk:5.0-buster 0.0s
=> => resolve mcr.microsoft.com/dotnet/core/sdk:5.0-buster 0.0s
=> [internal] load build context 0.0s
=> ERROR [base 1/2] FROM mcr.microsoft.com/dotnet/core/aspnet:5.0-buster-slim 0.0s
=> => resolve mcr.microsoft.com/dotnet/core/aspnet:5.0-buster-slim
Run Code Online (Sandbox Code Playgroud)
may*_*ʎɐɯ 41
当我在这里阅读时,它更改为:
FROM mcr.microsoft.com/dotnet/aspnet:5.0-buster-slim AS base
FROM mcr.microsoft.com/dotnet/sdk:5.0-buster-slim AS build
Run Code Online (Sandbox Code Playgroud)
在docker hub上也提到了更多信息:
作为 .NET 5.0 版本的一部分,所有 .NET Docker 映像(包括 .NET Core 2.1 和 3.1)都已转换为一组新的 Docker 存储库,如下所述。将继续对旧存储库位置中支持的标签进行更新,以实现向后兼容性。请更新对这些新名称的任何存储库引用。有关更多信息,请参阅 .NET 5.0 存储库重命名公告。
编辑: 图像描述:
| 图片 | 注释 |
|---|---|
| mcr.microsoft.com/dotnet/runtime:5.0 | .NET 5 多架构:支持 Linux 和 Windows Nano Server,具体取决于 Docker 主机。 |
| mcr.microsoft.com/dotnet/aspnet:5.0 | ASP.NET Core 5.0 多架构:支持 Linux 和 Windows Nano Server,具体取决于 Docker 主机。aspnetcore 映像对 ASP.NET Core 进行了一些优化。 |
| mcr.microsoft.com/dotnet/aspnet:5.0-buster-slim | 在 Linux Debian 发行版上仅运行 .NET 5 |
| mcr.microsoft.com/dotnet/aspnet:5.0-nanoserver-1809 | .NET 5 仅运行时在 Windows Nano Server(Windows Server 版本 1809)上 |
图片说明参考。
您不必自己编写此内容。一种快速的方法是使用 dockerfile 生成器,如 Julio Casal 在本快速教程https://www.youtube.com/watch?v=wQSuZFd01tY中所解释的那样。
MyApp 的示例代码如下所示
FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443
ENV ASPNETCORE_URLS=http://+:80
FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build
WORKDIR /src
COPY ["MyApp/MyApp.csproj", "MyApp/"]
RUN dotnet restore "MyApp/MyApp.csproj"
COPY . .
WORKDIR "/src/MyApp"
RUN dotnet build "MyApp.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "MyApp.csproj" -c Release -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "MyApp.dll"]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16997 次 |
| 最近记录: |