Добавить в корзинуПозвонить
Найти в Дзене
Удалёнка

Для какой ОС использовать контейнеры .NET

Учитывая разнообразие операционных систем, поддерживаемых Docker, и различия между .NET Framework и .NET 6, следует выбирать определенные ОС и определенные версии в зависимости от платформы, которую вы используете. Для Windows можно использовать Windows Server Core или Windows Nano Server. Эти версии Windows различаются характеристиками (IIS в Windows Server Core или резидентный веб-сервер, такой как Kestrel, в Nano Server), которые могут быть необходимы в .NET Framework или .NET 6 соответственно. Для Linux доступно и поддерживается множество дистрибутивов в официальных образах Docker .NET (например, Debian). На рисунке 3-1 представлены возможные версии операционной системы в зависимости от используемой платформы .NET. Рис. 3-1. Выбираемые операционные системы в зависимости от версии платформы .NET При развертывании устаревших приложений .NET Framework выберите в качестве целевой ОС Windows Server Core, которая совместима с устаревшими приложениями и службами IIS, но образ которой име

Учитывая разнообразие операционных систем, поддерживаемых Docker, и различия между .NET Framework и .NET 6, следует выбирать определенные ОС и определенные версии в зависимости от платформы, которую вы используете.

Для Windows можно использовать Windows Server Core или Windows Nano Server. Эти версии Windows различаются характеристиками (IIS в Windows Server Core или резидентный веб-сервер, такой как Kestrel, в Nano Server), которые могут быть необходимы в .NET Framework или .NET 6 соответственно.

Для Linux доступно и поддерживается множество дистрибутивов в официальных образах Docker .NET (например, Debian).

На рисунке 3-1 представлены возможные версии операционной системы в зависимости от используемой платформы .NET.

-2

Рис. 3-1. Выбираемые операционные системы в зависимости от версии платформы .NET

При развертывании устаревших приложений .NET Framework выберите в качестве целевой ОС Windows Server Core, которая совместима с устаревшими приложениями и службами IIS, но образ которой имеет больший размер. При развертывании приложений .NET 6 в качестве целевой ОС можно выбрать Windows Nano Server, которая оптимизирована для облака, использует Kestrel, имеет образ меньшого размера и запускается быстрее. В качестве целевой среды можно выбрать ОС Linux, которая поддерживает Debian, Alpine и другие дистрибутивы. Можете также использовать образ Kestrel, который имеет меньший размер и запускается быстрее.

В том случае, если требуется использовать другой дистрибутив Linux или если нужен образ с версиями, не предоставляемыми Майкрософт, можно также создать собственный образ Docker. Например, можно создать образ с ASP.NET Core для работы на классической платформе .NET Framework и в Windows Server Core, что для Docker является довольно редко используемым сценарием.

При добавлении имени образа в файл Dockerfile можно выбрать операционную систему и версию в зависимости от используемого тега, как показано в следующих примерах:

ИзображениеКомментарииmcr.microsoft.com/dotnet/runtime:6.0.NET 6 (для разных архитектур): поддерживает Linux и Windows Nano Server в зависимости от узла Docker.mcr.microsoft.com/dotnet/aspnet:6.0ASP.NET Core 6.0 (для разных архитектур): поддерживает Linux и Windows Nano Server в зависимости от узла Docker.
Образ aspnetcore имеет несколько оптимизаций для ASP.NET Core.mcr.microsoft.com/dotnet/aspnet:6.0-bullseye-slim.NET 6 (только для среды выполнения) на основе дистрибутива Linux Debianmcr.microsoft.com/dotnet/aspnet:6.0-nanoserver-1809.NET 6 (только для среды выполнения) на основе Windows Nano Server (Windows Server версии 1809)