Присоединение к процессу, выполняющемуся в контейнере Docker
В Visual Studio можно выполнять отладку приложений, выполняющихся в контейнере Docker для Windows или в контейнере Docker в среде .NET Core для Linux.
Необходимые компоненты
Если его еще нет на сервере Linux, вам необходимо установить SSH-сервер, разархивировать и установить с помощью curl или wget. Например, в Ubuntu это можно сделать, запустив:
sudo apt-get install openssh-server unzip curl
Протокол безопасной передачи файлов (SFTP) также должен быть включен. Большинство дистрибутивов SSH устанавливают и включают SFTP по умолчанию, однако это не всегда так.
Присоединение к процессу, работающему в контейнере Docker Linux
Вы можете подключить отладчик Visual Studio к процессу, выполняемому в контейнере Docker .NET Core в Linux на локальном или удаленном компьютере, используя диалоговое окно Подключение к процессу.
Внимание
Чтобы использовать эту функцию, необходимо иметь локальный доступ к исходному коду.
Присоединение к процессу, выполняющемуся в контейнере Docker в Linux
В Visual Studio выберите Отладка > Подключить к процессу (CTRL + ALT + P), чтобы открыть диалоговое окно Подключение к процессу.
Для параметра Тип подключения выберите Docker (контейнер Linux).
Нажмите Найти..., чтобы задать Целевой объект подключения в диалоговом окне Выбор контейнера Docker.
Процесс контейнера Docker можно отлаживать как локально, так и удаленно.
Локальная отладка процесса контейнера Docker
Для параметра Узел Docker CLI выберите значение Локальный компьютер.
Выберите из списка контейнер, к которому нужно подключиться, и нажмите ОК.
Удаленная отладка процесса контейнера Docker
Вы можете подключиться к запущенным процессам в контейнере Docker с помощью одного из двух вариантов. Первый способ, использование SSH, — идеальный вариант, если на локальном компьютере не установлены средства Docker. Если средства Docker установлены локально и у вас есть управляющая программа Docker, настроенная на прием удаленных запросов, попробуйте второй вариант с помощью управляющей программы Docker.
Подключение к удаленному компьютеру по протоколу SSH
- Нажмите Добавить..., чтобы подключиться к удаленной системе.
- Введите необходимые сведения о подключении и выберите Подключение.
- После подключения к SSH выберите запущенный контейнер для подключения, а затем нажмите кнопку "ОК".
- Нажмите Добавить..., чтобы подключиться к удаленной системе.
Чтобы задать целевой объект удаленному контейнеру, выполняя процесс с помощью управляющей программы Docker:
- Укажите адрес управляющей программы (то есть через TCP, IP-адрес и т. д.) в узле Docker (необязательно) и нажмите кнопку "Обновить".
- После успешного подключения к управляющей программе выберите запущенный контейнер для подключения, а затем нажмите кнопку "ОК".
Выберите соответствующий процесс контейнера из списка Доступные процессы, а затем выберите Присоединить, чтобы начать отладку процесса контейнера C# в Visual Studio.
Присоединение к процессу, работающему в контейнере Windows Docker
Вы можете подключить отладчик Visual Studio к процессу, выполняемому в контейнере Docker в Windows на локальном компьютере, используя диалоговое окно Подключение к процессу.
Внимание
Чтобы использовать эту функцию с процессом .NET Core, необходимо установить рабочую нагрузку "Кроссплатформенная разработка .NET Core" и иметь локальный доступ к исходному коду.
Присоединение к процессу, выполняющемуся в контейнере Docker в Windows
В Visual Studio выберите Отладка > Подключить к процессу (или нажмите клавиши CTRL + ALT + P), чтобы открыть диалоговое окно Подключение к процессу.
Для параметра Тип подключения выберите Docker (контейнер Windows).
Нажмите Найти..., чтобы задать Целевой объект подключения с помощью диалогового окна Выбор контейнера Docker.
Внимание
Целевой процесс должен иметь ту же архитектуру процессора, что и контейнер Docker в Windows, в котором он выполняется.
Возможность назначения целевого объекта удаленному контейнеру с помощью SSH в настоящее время недоступна. Выполнить это можно только с помощью управляющей программы Docker.
Чтобы задать целевой объект удаленному контейнеру, выполняя процесс с помощью управляющей программы Docker:
Укажите адрес управляющей программы (т. е. через TCP, IP-адрес и т. д.) в узле Docker (необязательно) и нажмите кнопку "Обновить".
После успешного подключения к управляющей программе выберите запущенный контейнер для подключения, а затем нажмите кнопку "ОК".
Выберите соответствующий процесс контейнера из списка Доступные процессы, а затем выберите Присоединить, чтобы начать отладку процесса контейнера C#.