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


Настройка сопоставления томов контейнера

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

Необходимые компоненты

Подключения томов в образах контейнеров Visual Studio

Ниже перечислены тома, которые подключаются в контейнере:

Громкость Description
Папка приложения Содержит папку проекта, в которой располагается файл Dockerfile.
Папки пакетов NuGet Содержит пакеты NuGet и резервные папки, которые считываются из файла obj{project}.csproj.nuget.g.props в проекте.
Удаленный отладчик Содержит компоненты, необходимые для запуска отладчика в контейнере, в соответствии с типом проекта. Сведения о настройке образов контейнеров для отладки.
Исходная папка Содержит контекст сборки, который передается в команды Docker.

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

Громкость Description
Папка приложения Содержит папку проекта, в которой располагается файл Dockerfile.
Папки пакетов NuGet Содержит пакеты NuGet и резервные папки, которые считываются из файла obj{project}.csproj.nuget.g.props в проекте.
Удаленный отладчик Содержит компоненты, необходимые для запуска отладчика в контейнере, в соответствии с типом проекта. Дополнительные сведения см. в разделе "Настройка образов контейнеров для отладки".
Исходная папка Содержит контекст сборки, который передается в команды Docker.
VSTools Содержит средства Visual Studio, поддерживающие работу с контейнером, включая поддержку отладчика, окна контейнеров, обработки маркеров Azure, агента Горячая перезагрузка и вспомогательного средства дистрибутива.

Для .NET 8 дополнительные точки подключения в корневом каталоге и для пользователя приложения, содержащего секреты пользователя и сертификат HTTPS, также могут присутствовать.

Примечание.

Visual Studio 17.10 Если вы используете подсистему Docker в подсистема Windows для Linux (WSL) без Docker Desktop, задайте для переменной VSCT_WslDaemon=1 среды среду использовать пути WSL при создании подключений томов. Пакет NuGet Microsoft.VisualStudio.Azure.Containers.Tools.Targets 1.20.0-Preview 1 также требуется.

Для ASP.NET основных веб-приложений может быть две дополнительные папки для SSL-сертификата и секретов пользователей, которые подробно описаны в статье "Использование SSL для контейнерных приложений ASP.NET Core"

Подключение тома контейнера

Вы можете подключить другой том с помощью docker run аргументов командной строки.

  1. Откройте файл проекта для контейнеризованного проекта.

  2. Чтобы указать новый аргумент командной строки, добавьте свойство DockerfileRunArgumentsMSBuild и укажите -v или --mount синтаксис. Например, следующий синтаксис создает том myvolume и подключает его в контейнере в папке /scratch.

    <PropertyGroup>
       <DockerfileRunArguments>-v myvolume:/scratch</DockerfileRunArguments>
    </PropertyGroup>
    

    Ознакомьтесь с документацией По Docker для синтаксиса командной строки для параметров -v или --mount .