Найти тему
Удалёнка

Docker. Общие рекомендации

В этом разделе представлена сводка относительно выбора .NET 6 или .NET Framework. Дополнительные сведения об этих вариантах представлены в последующих разделах.

Используйте .NET 6 с контейнерами Windows или Linux для контейнерного серверного приложения Docker в следующих случаях:

  • для создания кроссплатформенных решений; Например, вы хотите использовать контейнеры и Windows, и Linux.
  • Архитектура приложения основана на микрослужбах.
  • Вам нужно быстро запустить контейнеры, и вы хотите использовать небольшой объем памяти на каждый контейнер, чтобы получить более высокую плотность или больше контейнеров на единицу оборудования для снижения затрат.

Вкратце, при создании новых контейнерных приложений .NET следует рассматривать .NET 6 как вариант по умолчанию. Он имеет множество преимуществ и лучше соответствует концепции и стилю работы с контейнерами.

Дополнительное преимущество использования .NET 6 заключается в том, что можно параллельно запускать версии .NET для приложений на одном и том же компьютере. Данное преимущество более важно для серверов или виртуальных машин, которые не используют контейнеры, так как контейнеры изолируют версии .NET, нужные приложению. (При условии, что они совместимы с базовой ОС.)

Используйте .NET Framework для серверных приложений в контейнерах Docker в следующих случаях.

  • В настоящее время приложение использует .NET Framework и имеет строгие зависимости от Windows.
  • Необходимо использовать API Windows, которые не поддерживаются .NET 6.
  • Требуются сторонние библиотеки .NET или пакеты NuGet, недоступные для .NET 6.

Использование .NET Framework в Docker может улучшить качество развертывания, сводя к минимуму проблемы развертывания. Данный сценарий "подъема и смены" важен для контейнеризации приложений прежних версий, которые изначально были разработаны с использованием классической платформы .NET Framework, например ASP.NET WebForms, веб-приложений MVC или служб WCF (Windows Communication Foundation).

Выбор между NET 6 и NET Framework для контейнеров Docker

Серверные контейнерные приложения Docker можно разрабатывать на двух платформах .NET: .NET Framework и .NET 6. В них используется множество одинаковых компонентов платформы .NET, а код можно использовать как в одной среде, так и в другой. Но между этими двумя платформами также существуют и фундаментальные различия. Поэтому ваш выбор будет зависеть от поставленной задачи. В этом разделе приводятся рекомендации по выбору каждой из платформ.