Настройка инструментов Visual Studio для работы с контейнерами

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

Параметры инструментов для работы с контейнерами

В главном меню выберите Сервис > Параметры и разверните узлы Инструменты для контейнера > Параметры. Появятся параметры инструментов для контейнера.

Общие параметры инструментов для работы с контейнерами:

Параметры средств Visual Studio для контейнеров, отображающие следующее: установка Docker Desktop, если необходимо, и доверенный сертификат SSL ASP.NET Core.

Параметры инструментов для работы с контейнерами для отдельного проекта и Docker Compose:

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

Параметры средств контейнеров Visual Studio, показывающие: убийство контейнеров при закрытии проекта, извлечение необходимых образов Docker в открытом проекте, запуск контейнеров в открытом проекте, запуск службы в контейнерах для включения проверки подлинности Azure и запуск службы в контейнерах для включения Горячая перезагрузка.

Приведенная ниже таблица может помочь вам настроить эти параметры.

В приведенной ниже таблице описаны общие параметры.

Имя. Параметр по умолчанию Применяется к Description
При необходимости установите Docker Desktop Выдавать запрос Один проект, Docker Compose Выберите, должен ли выводиться запрос, если средство Docker Desktop не установлено.
Сделать SSL-сертификат ASP.NET Core доверенным Выдавать запрос Проекты ASP.NET Core 2.x Если ssl-сертификат не является доверенным, localhost Visual Studio будет запрашивать при каждом запуске проекта ASP.NET Core 2.x.

В приведенной ниже таблице описываются параметры для одного проекта и Docker Compose:

Имя. Параметр по умолчанию Применяется к Description
Извлекать необходимые образы Docker при открытии проекта Истина Один проект, Docker Compose Для повышения производительности при загрузке проектов Visual Studio будет запускать операцию извлечения Docker в фоновом режиме, чтобы когда код был готов к выполнению, образ уже был скачан или находился в процессе скачивания. Если вы загружаете проекты просто для просмотра кода, можно выбрать значение False, чтобы избежать скачивания ненужных образов контейнеров.
Извлечение обновленных образов Docker при открытии проекта Проекты .NET Core Один проект, Docker Compose При открытии проекта проверьте наличие обновлений для образов и скачайте их, если они доступны.
Запускать контейнеры при открытии проекта Истина Один проект, Docker Compose Для повышения производительности Visual Studio создает контейнер заблаговременно, чтобы он был готов к сборке и запуску. Если вы хотите управлять созданием контейнера, выберите значение False.
Удаление контейнеров при закрытии проекта Истина Один проект, Docker Compose Выберите значение False, если контейнеры решения следует сохранить после закрытия решения или среды Visual Studio.
Имя. Параметр по умолчанию Применяется к Description
Извлекать необходимые образы Docker при открытии проекта Истина Один проект, Docker Compose Для повышения производительности при загрузке проектов Visual Studio будет запускать операцию извлечения Docker в фоновом режиме, чтобы когда код был готов к выполнению, образ уже был скачан или находился в процессе скачивания. Если вы загружаете проекты просто для просмотра кода, можно выбрать значение False, чтобы избежать скачивания ненужных образов контейнеров.
Извлечение обновленных образов Docker при открытии проекта Проекты .NET Core Один проект, Docker Compose При открытии проекта проверьте наличие обновлений для образов и скачайте их, если они доступны.
Запускать контейнеры при открытии проекта Истина Один проект, Docker Compose Для повышения производительности Visual Studio создает контейнер заблаговременно, чтобы он был готов к сборке и запуску. Если вы хотите управлять созданием контейнера, выберите значение False.
Удаление контейнеров при закрытии проекта Истина Один проект, Docker Compose Выберите значение False, если контейнеры решения следует сохранить после закрытия решения или среды Visual Studio.
Запуск службы в контейнерах для включения проверки подлинности Azure Истина Один проект, Docker Compose Visual Studio версии 17.6 или более поздней запускает прокси-службу маркеров в контейнере, который помогает с проверкой подлинности Azure, чтобы приложения могли использовать службы Azure во время разработки. False Установите значение, если вы не хотите, чтобы эта служба была установлена и запущена.
Запуск службы в контейнерах для включения Горячая перезагрузка Истина Один проект, Docker Compose False Установите значение, если вы не хотите, чтобы эта служба была установлена и запущена. Служба Горячая перезагрузка доступна в Visual Studio 2022 версии 17.7 и более поздних версиях и поддерживает только запуск без отладки (CTRL+F5).

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

Параметры средств Visual Studio контейнеров, где отображаются параметры, доступные для окна инструментов

Параметры окна Контейнеры описаны в представленной ниже таблице.

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

Предупреждение

localhost Если SSL-сертификат не является доверенным, и вы выбираете поле для подавления запроса, веб-запросы HTTPS могут завершиться ошибкой во время выполнения в приложении или службе. В этом случае снимите флажок "Не запрашивать проверка", запускать проект и указывать доверие к запросу.

Настройка проверки подлинности Azure

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

Начиная с Visual Studio 2022 версии 17.6 в проектах с одним контейнером и Docker Compose, служба прокси-сервера токена развертывается и запускается в контейнерах, которые помогают приложениям и службам проходить проверку подлинности в Azure. Для этой функции требуется Azure Identity 1.9.0 или более поздней версии. С помощью этой службы вы можете автоматически использовать большинство служб Azure без дополнительной настройки или установки в контейнере. В частности, код может использовать DefaultAzureCredential и VisualStudioCredential проходить проверку подлинности в службах Azure так же, как и за пределами контейнера. См. удостоверений Azure 1.9.0 README.

Чтобы отключить эту функцию, задайте параметр "Параметры инструментов>" запустить службу в контейнерах, чтобы включить проверку подлинности Azure (описанную ранее в этой статье).False

Внимание

Существует потенциальная проблема безопасности, если вы используете прокси-сервер маркера и включили определенные журналы диагностики средств контейнеров. Если ведение журнала включено, учетные данные проверки подлинности могут быть записаны в виде обычного текста. Эти журналы включены определенными переменными среды. Для проектов одного контейнера переменная среды — это MS_VS_CONTAINERS_TOOLS_LOGGING_ENABLEDпеременная среды, которая затем входит в %tmp%\Microsoft.VisualStudio.Containers.Toolsсистему. Для проектов %tmp%\Microsoft.VisualStudio.DockerCompose.ToolsDocker Compose это MS_VS_DOCKER_TOOLS_LOGGING_ENABLEDзначит, что затем выполняет вход.

Дополнительные сведения о работе с контейнерами в Visual Studio см. в этой обзорной статье.