Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Вы можете использовать окно контейнеров Visual Studio, чтобы узнать, что происходит внутри контейнеров Docker, в которых размещаются приложения, и просматривать образы контейнеров. Если вы используете команды Docker для просмотра и анализа контейнеров, это окно предоставляет удобный способ мониторинга и взаимодействия с контейнерами без выхода из интегрированной среды разработки Visual Studio.
Предпосылки
- Docker Desktop
- Visual Studio 2019 версии 16.4 или более поздней версии.
- Docker Desktop
- Visual Studio 2022 или Visual Studio 2019 версии 16.4 или более поздней версии.
- Для узла Docker Compose:
- Visual Studio 2022 версии 17.7 или более поздней
- Docker версии 2, которая устанавливается с помощью Docker Desktop и включена по умолчанию.
Просмотр сведений о контейнерах
Окно "Контейнеры" открывается автоматически при запуске контейнерного проекта .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.
Подсказка
По умолчанию окно "Контейнеры " закреплено с окном "Контрольные значения " при запуске отладчика. Вы можете легко настроить место, в котором закреплено окно средства "Контейнеры ". См. статью "Настройка макетов окон" в Visual Studio.
Просмотр переменных среды
На вкладке "Среда" отображаются переменные среды в контейнере. Эти переменные можно задать в Dockerfile, в env-файле или с помощью -e
параметра при запуске контейнера с помощью команды Docker.
Замечание
Изменения переменных среды не отражаются в режиме реального времени. Кроме того, переменные среды на этой вкладке — это системные переменные среды в контейнере, а не переменные пользовательской среды, локальные для приложения.
Просмотр меток
На вкладке "Метки" отображаются метки для контейнера. Метки — это способ настройки пользовательских метаданных для объектов Docker. Visual Studio автоматически задает некоторые метки.
Просмотр сопоставлений портов
На вкладке "Порты" можно проверить сопоставления портов для контейнера. Известные порты связаны, поэтому вы можете выбрать ссылку, чтобы открыть браузер с адресом порта узла.
Просмотр томов
На вкладке "Тома" отображаются подключенные узлы файловой системы или тома в контейнере.
Просмотр файловой системы
На вкладке "Файлы" можно просмотреть файловую систему контейнера, включая папку приложения, содержащую проект. С помощью вкладки "Файлы " можно просматривать журналы приложений, такие как журналы служб IIS, файлы конфигурации и другие файлы содержимого в файловой системе контейнера.
Замечание
В Visual Studio 2022 версии 17.7 или более поздней, если используется .NET 8 или более поздней версии, Dockerfile может содержать команду USER app
, которая указывает на запуск приложения с обычными правами пользователя. На вкладке Файлы используются те же разрешения, поэтому вы, возможно, не сможете просматривать папки, для которых требуются повышенные разрешения.
Чтобы открыть файл в 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.
Обычно окно терминала открывается за пределами Visual Studio как отдельное окно. Если вы хотите, чтобы командная строка была встроена в интегрированную среду разработки Visual Studio как окно инструментов с возможностью закрепления, можно установить терминал Whack Whack.
Если вы нацелены на .NET 8 в Visual Studio 2022 версии 17.7 и более поздних версиях, файл Dockerfile может указать USER app
команду, что означает, что приложение работает с обычными разрешениями пользователей, а не повышенными разрешениями. Терминал открывается с параметрами, указанными пользователем в Dockerfile, который по умолчанию используется для проектов .NET 8. Если пользователь не указан, терминал запускается от имени root
пользователя.
Подключите отладчик к процессу контейнера
Отладчик можно подключить к процессу, выполняемму в контейнере, с помощью кнопки "Присоединить к процессу " на панели инструментов окна "Контейнеры ". При использовании этой кнопки появится диалоговое окно "Присоединение к процессу" и отображает процессы, выполняемые в контейнере.
Вы можете присоединиться к управляемым процессам в контейнере. Чтобы найти процесс в другом контейнере, нажмите кнопку "Найти " в диалоговом окне "Присоединить к процессу " и выберите другой контейнер в диалоговом окне "Выбор контейнера Docker ".
Просмотр изображений
Изображения можно просматривать на локальном компьютере с помощью вкладки "Изображения " в левой части окна "Контейнеры ". Изображения, извлекаемые из внешних репозиториев, группируются в виде дерева.
В правой области есть вкладки, применимые к изображениям: метки и сведения. На вкладке "Сведения" отображаются сведения о конфигурации изображения в формате JSON.
В правой области есть вкладки, применимые к изображениям: метки, сведения и слои. На вкладке "Сведения" отображаются сведения о конфигурации изображения в формате JSON.
Чтобы удалить изображение, щелкните правой кнопкой мыши изображение в представлении дерева и нажмите кнопку "Удалить" или выберите изображение, а затем нажмите кнопку "Удалить " на панели инструментов.
Обрезка контейнеров и образов
Вы можете легко удалить контейнеры и изображения, которые вы не используете, нажав кнопку "Удалить" на панели инструментов окна "Контейнеры ".
- Если выбрана вкладка "Контейнеры" , вам будет предложено подтвердить удаление всех неиспользуемых контейнеров.
- Если выбрана вкладка "Контейнеры" , вам будет предложено подтвердить удаление всех остановленных контейнеров.
- Если выбрана вкладка "Изображения", появится запрос на удаление всех неиспользуемых изображений. Открепленные изображения — это изображения слоев, которые больше не связаны с тегированным изображением. Иногда удаляйте неиспользуемые образы, чтобы сэкономить место на диске.