Поделиться через


Контейнерные средства Visual Studio

Средства, включенные в Visual Studio для разработки с помощью контейнеров Docker или Podman , значительно упрощают создание, отладку и развертывание для контейнерных приложений. Вы можете работать с контейнером для одного проекта или использовать оркестрацию контейнеров с помощью Docker Compose.

Средства, включенные в Visual Studio для разработки с помощью контейнеров Docker , значительно упрощают сборку, отладку и развертывание для контейнерных приложений. Вы можете работать с контейнером для одного проекта или использовать оркестрацию контейнеров с Docker Compose или Service Fabric для работы с несколькими службами в контейнерах.

Необходимые условия

Поддержка контейнеров в Visual Studio

Поддержка контейнеров доступна для проектов ASP.NET Core, а также консольных проектов .NET Core (и .NET 5 и более поздних версий). Проекты .NET Framework не поддерживаются в текущей версии Visual Studio.

Если вы просто хотите контейнер для одного проекта без использования оркестрации, это можно сделать, добавив поддержку контейнеров. Вы можете выбрать Docker или Podman в качестве платформы контейнеров и легко переключаться между ними, не изменяя проект. Следующий уровень — поддержка Создания контейнеров, которая добавляет соответствующие файлы поддержки для Docker Compose. (Podman Compose не поддерживается.)

При добавлении поддержки контейнеров в проект .NET 7 или более поздней версии вы можете выбрать два типа сборки контейнеров для добавления поддержки контейнеров. Можно добавить Dockerfile, чтобы указать, как создавать образы контейнеров или использовать встроенную поддержку контейнеров, предоставляемую пакетом SDK для .NET.

Окно "Контейнеры" позволяет просматривать запущенные контейнеры, просматривать доступные изображения, просматривать переменные среды, журналы и сопоставления портов, проверять файловую систему, присоединять отладчик или открывать окно терминала в среде контейнера. См. раздел Использование окна "Контейнеры".

Необходимые условия

Поддержка Docker в Visual Studio

Поддержка Docker доступна для проектов ASP.NET, проектов ASP.NET Core и консольных проектов .NET Core и .NET Framework.

Поддержка Docker в Visual Studio менялась на протяжении нескольких выпусков в ответ на нужды клиентов. Существует несколько вариантов добавления поддержки Docker в проект, а поддерживаемые параметры зависят от типа проекта и версии Visual Studio. При наличии некоторых поддерживаемых типов проектов, если требуется только контейнер для одного проекта без использования оркестрации, это можно сделать, добавив поддержку Docker. Следующий уровень — поддержка оркестрации контейнеров, которая добавляет соответствующие файлы поддержки для выбранного оркестратора.

В Visual Studio 2022 версии 17.9 и более поздних версий при добавлении поддержки Docker в проект .NET 7 или более поздней версии можно выбрать два типа сборки контейнеров для добавления поддержки Docker. Можно добавить Dockerfile, чтобы указать, как создавать образы контейнеров или использовать встроенную поддержку контейнеров, предоставляемую пакетом SDK для .NET.

Кроме того, в Visual Studio 2022 и более поздних версиях при выборе оркестрации контейнеров можно использовать Docker Compose или Service Fabric в качестве служб оркестрации контейнеров.

В Visual Studio 2022 доступно окно контейнеров, которое позволяет просматривать запущенные контейнеры, просматривать доступные образы, просматривать переменные среды, журналы и сопоставления портов, проверять файловую систему, присоединять отладчик или открывать окно терминала в среде контейнера. См. раздел Использование окна "Контейнеры".

Сведения о создании проекта с поддержкой контейнеров или добавлении поддержки контейнеров в существующий проект см. в статье "Добавление поддержки контейнеров".

Сведения о создании проекта с поддержкой Docker или добавлении поддержки Docker в существующий проект см. в статье "Добавление поддержки контейнеров".

Заметка

Требования к лицензированию Docker могут отличаться для разных версий Docker Desktop. Ознакомьтесь с документацией по Docker, чтобы понять текущие лицензионные требования для вашей версии Docker Desktop в вашей ситуации разработки.

Поддержка Podman в Visual Studio

Visual Studio поддерживает контейнеры Podman, популярное средство управления контейнерами, которое предоставляет обработчик контейнеров без управляющей программы. Контейнеры можно запускать и управлять ими с помощью интерфейса командной строки Podman непосредственно из Visual Studio. Вы можете использовать Podman для запуска приложений с одним контейнером так же, как и Docker.

Чтобы использовать контейнеры Podman, запустите podman из интерфейса командной строки и откройте решение в Visual Studio. По умолчанию средства контейнеров автоматически определяют, выполняется ли Podman или Docker, и при запуске приложения используется текущая активная среда выполнения контейнеров. Чтобы настроить среду выполнения контейнера вручную, перейдите в раздел > "Параметры > контейнеров" > и выберите Podman или Docker. Параметром по умолчанию является auto, то есть Visual Studio пытается обнаружить текущую активную среду выполнения контейнера. Закройте окно "Параметры инструментов>", чтобы зафиксировать изменение параметра.

Окно контейнеров

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

Откройте окно контейнеров с помощью быстрого запуска (CTRL+Q) и ввода containers. Элементы управления закреплением можно использовать для того, чтобы поместить окно в место. Из-за ширины окна он лучше всего функционирует при закреплении в нижней части экрана.

Выберите контейнер и используйте вкладки для просмотра доступных сведений. Чтобы проверить это, запустите приложение с поддержкой Docker, откройте вкладку Файлы и раскройте папку с приложением, чтобы увидеть ваше развернутое приложение в контейнере.

Снимок экрана: окно

снимок экрана окна

См. раздел "Использование окна «Контейнеры»"для получения дополнительной информации.

Поддержка Docker Compose

Если вы хотите создать решение с несколькими контейнерами с помощью Docker Compose, добавьте поддержку оркестратора контейнеров в проекты. Это позволяет запускать и отлаживать группу контейнеров (целое решение или группу проектов) одновременно, если они определены в одном docker-compose.yml файле.

Чтобы добавить поддержку оркестратора контейнеров с помощью Docker Compose, щелкните правой кнопкой мыши приложение в обозревателе решений, а затем выберите "Добавить>поддержку создания контейнеров".

Чтобы добавить поддержку оркестратора контейнеров с помощью Docker Compose, щелкните правой кнопкой мыши в обозревателе решений узел проекта и выберите Добавить поддержку оркестратора контейнеров >. Затем выберите Docker Compose для управления контейнерами.

После добавления поддержки оркестратора контейнеров в проект, вы увидите, что файл Dockerfile добавлен в проект (если его еще не было) и папка docker-compose добавлена в решение в обозревателе решений, как показано здесь.

Снимок экрана: файлы Docker в обозревателе решений.

снимок экрана: файлы Docker в обозревателе решений в Visual Studio.

Если docker-compose.yml уже существует, Visual Studio просто добавляет в него необходимые строки кода конфигурации.

Повторите процесс с другими проектами, которыми вы хотите управлять с помощью Docker Compose.

Если вы работаете с большим количеством служб, вы можете сэкономить время и вычислительные ресурсы, выбрав подмножество служб, которые необходимо начать в сеансе отладки. См. раздел Запуск подмножества служб Compose.

Заметка

Удаленные узлы Docker не поддерживаются в инструментах Visual Studio.

Поддержка Service Fabric

Проекты приложений Service Fabric были удалены в Visual Studio 2026 и станут расширением Visual Studio. Сведения о состоянии доступности см. в этой проблеме с GitHub.

С помощью средств Service Fabric в Visual Studio можно разрабатывать и отлаживать для Azure Service Fabric, выполнять и выполнять отладку локально и развертывать в Azure.

Visual Studio 2019 и Visual Studio 2022 поддерживают разработку контейнерных микрослужб с помощью контейнеров Windows и оркестрации Service Fabric.

Подробное руководство см. в учебнике. Развертывание приложения .NET в контейнере Windows в Azure Service Fabric.

Дополнительные сведения об Azure Service Fabric см. в Service Fabric.

Непрерывная доставка и непрерывная интеграция (CI/CD)

Visual Studio легко интегрируется с Azure Pipelines для автоматической и непрерывной интеграции и доставки изменений в код и конфигурацию службы. Сведения о начале работы см. в статье Создание первого конвейера.

Сведения о Service Fabric см. в руководстве по . Развертывание приложения ASP.NET Core в Azure Service Fabric с помощью Azure DevOps Projects.

Дальнейшие действия

Дополнительные сведения о реализации служб и использовании средств Visual Studio для работы с контейнерами см. в следующих статьях:

Добавление поддержки контейнеров

Средства контейнеров в Visual Studio

Отладка приложений в локальном контейнере

Развертывание контейнера ASP.NET в реестре контейнеров с помощью Visual Studio

развертывание в службе приложений Azure

Развертывание в приложениях контейнеров Azure с помощью Visual Studio