创建映像并将 ASP.NET Core .NET 5 Docker 映像部署到 ARM
Create image and deploy ASP.NET Core .NET 5 Docker image to ARM
我在 .Net 5 Docker 图像中构建了一个 Net Core 5 Web API 并正在寻找一种方法来 运行 在像 Tinker 这样的 ARM v7 处理器上从该图像创建容器在上面安装 Debian。
最后,在以下网站上,我找到了在 ARM 处理器上构建和 运行 应用程序的基础:https://hub.docker.com/_/microsoft-dotnet-aspnet
在页面上向下滚动到 'Full Tag Listing' 和 select 基础架构。
您只需要根据您的处理器架构和 运行 Docker 构建命令更改基础“FROM ...”(在 Docker 文件中),图像将专为您的 ARM 或任何其他设备构建。
例如。我在安装了 Debian 的 Tinker Board 上 运行ning docker 容器,当前的 .NET 运行时是 .NET 5,所以我的 Docker 文件如下所示:
请勿盲目复制。先阅读以上文字。
# 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 文件夹中复制文件。
我在 .Net 5 Docker 图像中构建了一个 Net Core 5 Web API 并正在寻找一种方法来 运行 在像 Tinker 这样的 ARM v7 处理器上从该图像创建容器在上面安装 Debian。
最后,在以下网站上,我找到了在 ARM 处理器上构建和 运行 应用程序的基础:https://hub.docker.com/_/microsoft-dotnet-aspnet
在页面上向下滚动到 'Full Tag Listing' 和 select 基础架构。
您只需要根据您的处理器架构和 运行 Docker 构建命令更改基础“FROM ...”(在 Docker 文件中),图像将专为您的 ARM 或任何其他设备构建。
例如。我在安装了 Debian 的 Tinker Board 上 运行ning docker 容器,当前的 .NET 运行时是 .NET 5,所以我的 Docker 文件如下所示:
请勿盲目复制。先阅读以上文字。
# 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 文件夹中复制文件。