【发布时间】:2020-08-21 15:17:18
【问题描述】:
我正在开发一个通过 Docker 发布的 .NET Core 应用程序。我的开发环境是使用 Linux 容器的 Windows 机器。生产环境是树莓派。
由于开发和生产之间的架构不同(x64 与 ARM),我有两个不同的 Dockerfile,它们仅在一行(基础映像)上有所不同:
- 在
x64上开发:FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base - 在
ARM:FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim-arm32v7 AS base上生产
是否可以避免两个不同的文件?如果是,我该怎么做?是否有可能有类似if 的东西,或者我可以引用另一个文件(例如Dockerfile.common)?
【问题讨论】:
标签: c# docker asp.net-core .net-core raspberry-pi