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


Использование окна "Контейнеры"

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

Предпосылки

Просмотр сведений о контейнерах

Окно "Контейнеры" открывается автоматически при запуске контейнерного проекта .NET. Чтобы открыть окно Контейнеры в любое время, выберите Вид>Контейнеры в меню Visual Studio. Можно также использовать ctrl+Q , чтобы открыть поле поиска Visual Studio, ввести контейнеры и выбрать элемент "Контейнеры ".

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

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

Окно "Контейнеры" открывается автоматически при запуске контейнерного проекта .NET. Чтобы открыть окно Контейнеры в любое время, выберите Просмотр>Другие окна>Контейнеры в меню Visual Studio или нажмите клавиши Ctrl+K, Ctrl+O. Можно также использовать ctrl+Q , чтобы открыть поле поиска Visual Studio, ввести контейнеры и выбрать элемент "Контейнеры ".

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

В левой части окна отображается список контейнеров на локальном компьютере. Контейнеры, связанные с текущим решением, находятся в разделе "Контейнеры решений". Справа находится панель с вкладками Среда, Метки, Порты, Тома, Файлы, Журналы и Сведения.

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

Снимок экрана: узлы Docker Compose в окне

Подсказка

По умолчанию окно "Контейнеры " закреплено с окном "Контрольные значения " при запуске отладчика. Вы можете легко настроить место, в котором закреплено окно средства "Контейнеры ". См. статью "Настройка макетов окон" в Visual Studio.

Просмотр переменных среды

На вкладке "Среда" отображаются переменные среды в контейнере. Эти переменные можно задать в Dockerfile, в env-файле или с помощью -e параметра при запуске контейнера с помощью команды Docker.

Замечание

Изменения переменных среды не отражаются в режиме реального времени. Кроме того, переменные среды на этой вкладке — это системные переменные среды в контейнере, а не переменные пользовательской среды, локальные для приложения.

Снимок экрана: вкладка

Снимок экрана: вкладка

Просмотр меток

На вкладке "Метки" отображаются метки для контейнера. Метки — это способ настройки пользовательских метаданных для объектов Docker. Visual Studio автоматически задает некоторые метки.

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

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

Просмотр сопоставлений портов

На вкладке "Порты" можно проверить сопоставления портов для контейнера. Известные порты связаны, поэтому вы можете выбрать ссылку, чтобы открыть браузер с адресом порта узла.

Снимок экрана: вкладка

Снимок экрана: вкладка

Просмотр томов

На вкладке "Тома" отображаются подключенные узлы файловой системы или тома в контейнере.

Снимок экрана: вкладка

Снимок экрана: вкладка

Просмотр файловой системы

На вкладке "Файлы" можно просмотреть файловую систему контейнера, включая папку приложения, содержащую проект. С помощью вкладки "Файлы " можно просматривать журналы приложений, такие как журналы служб IIS, файлы конфигурации и другие файлы содержимого в файловой системе контейнера.

Снимок экрана: вкладка

Снимок экрана: вкладка

Замечание

В Visual Studio 2022 версии 17.7 или более поздней, если используется .NET 8 или более поздней версии, Dockerfile может содержать команду USER app, которая указывает на запуск приложения с обычными правами пользователя. На вкладке Файлы используются те же разрешения, поэтому вы, возможно, не сможете просматривать папки, для которых требуются повышенные разрешения.

Чтобы открыть файл в Visual Studio, дважды щелкните файл или щелкните его правой кнопкой мыши и нажмите кнопку "Открыть". Visual Studio открывает файл в режиме только для чтения.

Снимок экрана: файл, открытый для просмотра в Visual Studio.

Снимок экрана: файл, открытый для просмотра в Visual Studio.

Просмотреть журналы

На вкладке "Журналы" отображаются результаты docker logs команды. По умолчанию вкладка отображает потоки stdout и stderr в контейнере, но вы можете настроить отображение. Дополнительные сведения см. в разделе ведения журнала Docker.

По умолчанию вкладка "Журналы" передает журналы. Вы можете приостановить поток, нажав кнопку "Журналы потоков " на вкладке. Нажмите кнопку "Журналы потоков " еще раз, чтобы возобновить потоковую передачу, из которой она ушла.

Скриншот вкладки «Журналы» в окне «Контейнеры».

По умолчанию вкладка "Журналы" передает журналы. Вы можете приостановить поток, нажав кнопку Stream на вкладке. Нажмите кнопку Stream еще раз, чтобы возобновить потоковую передачу, из которой она ушла.

Скриншот вкладки «Журналы» в окне «Контейнеры».

Чтобы очистить журналы, нажмите кнопку "Очистить " на вкладке "Журналы ". Чтобы получить все журналы, нажмите кнопку "Обновить ".

Замечание

Visual Studio автоматически перенаправляет stdout и stderr в окно вывода при запуске контейнеров Windows без отладки. Затем эти журналы не отображаются на вкладке "Журналы ".

Если вы используете Docker Compose с Visual Studio 2022 версии 17.7 или более поздней, вы можете просматривать журналы каждого контейнера отдельно или объединены в один выходной поток. Если выбрать родительский узел для решения, вы увидите чередующиеся журналы из всех проектов Compose. Первый столбец на каждой строке показывает контейнер, создающий такую строку выходных данных. Если вы хотите просмотреть только журналы для одного контейнера, выберите узел этого проекта.

Снимок экрана: переплетированные журналы на вкладке

Просмотреть сведения

На вкладке "Сведения" отображаются метаданные и сведения о среде выполнения конфигурации контейнера в формате JSON. Эта информация включает переменные среды, порты, тома и другие параметры выполнения.

Снимок экрана: вкладка

Взаимодействие с контейнерами

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

Вы также можете включить или отключить эти параметры с помощью настроек в>Параметры>Инструментов контейнеров>Окне инструментов контейнеров. Дополнительные сведения см. в разделе "Настройка средств контейнеров".

Вы также можете включить или отключить эти параметры с помощью настроек в Инструментах>Параметры>Инструменты контейнеров>Окне контейнеров. Для получения дополнительной информации см. «Настройка средств контейнеров».

Запуск, остановка и удаление контейнеров

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

Чтобы выбрать несколько контейнеров, например удалить несколько контейнеров одновременно, нажмите клавиши CTRL+Select. Вам будет предложено подтвердить, если вы пытаетесь запустить или удалить более 10 контейнеров за раз. При желании можно отключить запросы на подтверждение.

Открытие окна терминала в работающем контейнере

Окно терминала (командная строка или интерактивная оболочка) в контейнере можно открыть с помощью кнопки "Открыть окно терминала " в окне "Контейнеры ".

Снимок экрана: открытие окна терминала в окне

Снимок экрана: открытие окна терминала в окне

Для контейнеров Windows откроется командная строка Windows. Для контейнеров Linux откроется окно с помощью оболочки Bash.

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

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

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

Если вы нацелены на .NET 8 в Visual Studio 2022 версии 17.7 и более поздних версиях, файл Dockerfile может указать USER app команду, что означает, что приложение работает с обычными разрешениями пользователей, а не повышенными разрешениями. Терминал открывается с параметрами, указанными пользователем в Dockerfile, который по умолчанию используется для проектов .NET 8. Если пользователь не указан, терминал запускается от имени root пользователя.

Подключите отладчик к процессу контейнера

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

Снимок экрана: диалоговое окно

Снимок экрана: диалоговое окно

Вы можете присоединиться к управляемым процессам в контейнере. Чтобы найти процесс в другом контейнере, нажмите кнопку "Найти " в диалоговом окне "Присоединить к процессу " и выберите другой контейнер в диалоговом окне "Выбор контейнера Docker ".

Просмотр изображений

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

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

В правой области есть вкладки, применимые к изображениям: метки и сведения. На вкладке "Сведения" отображаются сведения о конфигурации изображения в формате JSON.

Снимок экрана: вкладка

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

В правой области есть вкладки, применимые к изображениям: метки, сведения и слои. На вкладке "Сведения" отображаются сведения о конфигурации изображения в формате JSON.

Снимок экрана: вкладка

Чтобы удалить изображение, щелкните правой кнопкой мыши изображение в представлении дерева и нажмите кнопку "Удалить" или выберите изображение, а затем нажмите кнопку "Удалить " на панели инструментов.

Обрезка контейнеров и образов

Вы можете легко удалить контейнеры и изображения, которые вы не используете, нажав кнопку "Удалить" на панели инструментов окна "Контейнеры ".

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

  • Если выбрана вкладка "Контейнеры" , вам будет предложено подтвердить удаление всех неиспользуемых контейнеров.

Скриншот, показывающий кнопку

  • Если выбрана вкладка "Контейнеры" , вам будет предложено подтвердить удаление всех остановленных контейнеров.
  • Если выбрана вкладка "Изображения", появится запрос на удаление всех неиспользуемых изображений. Открепленные изображения — это изображения слоев, которые больше не связаны с тегированным изображением. Иногда удаляйте неиспользуемые образы, чтобы сэкономить место на диске.