Я работаю над приложением. NET Core, которое поставляется через Docker. Моя среда разработки - это машина Windows, использующая Linux контейнеров. Производственная среда - это Raspberry Pi.
Поскольку архитектуры между разработкой и производством различаются (x64
против ARM
), у меня есть два разных файла Docker, которые отличаются только в одной строке (базовый образ) :
- Разработка на
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
)?