首页 > 解决方案 > 创建映像并将 ASP.NET Core .NET 5 Docker 映像部署到 ARM

问题描述

我在 .Net 5 Docker Image 中构建了一个 Net Core 5 Web API,并正在寻找一种方法来在 ARM v7 处理器(如带有 Debian 的 Tinker Board)上从该图像运行创建容器。

标签: c#dockerarm

解决方案


最后,在以下网站上,我找到了在 ARM 处理器上构建和运行应用程序的基础:https ://hub.docker.com/_/microsoft-dotnet-aspnet

在页面上向下滚动到“完整标签列表”,然后为您的架构选择基础。

您只需要根据您的处理器架构更改基础'FROM ...'(在 DockerFile 中)并运行 Docker 构建命令,就会专门为您的 ARM 或任何其他设备构建映像。

例如。我在 Tinker Board 上运行 docker 容器,上面安装了 Debian,当前的 .NET 运行时是 .NET 5,所以我的 Dockerfile 如下所示:

不要盲目抄袭。先阅读上面的文字。

# Base for Debian ARM Linux
FROM mcr.microsoft.com/dotnet/aspnet:5.0-buster-slim-arm32v7 AS base
# Setting working directory
WORKDIR /app
# Copy the files from Release Folder to working directory
COPY ./bin/Release/net5.0/. /app/
# Entrypoint of the app. change app.dll to the name of your project.
ENTRYPOINT ["dotnet", "app.dll"]

顺便提一句。为了最小化 docker 镜像的大小,我在开发机器上构建了一个发布版本,而不是将项目文件复制到镜像中,我只是从 RELEASE 文件夹中复制文件。


推荐阅读