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


Устранение неполадок при разработке с Docker в Visual Studio

Область применения: Visual Studio

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

Совместное использование тома не включено. Включите совместное использование тома в параметрах Docker CE для Windows (только для контейнеров Linux)

Общий доступ к файлам необходимо управлять только в том случае, если вы используете Hyper-V с Docker. Если вы используете WSL 2, выполните следующие действия, и параметр общего доступа к файлам не будет отображаться. Для разрешения этой проблемы:

  1. Щелкните правой кнопкой мыши Docker for Windows (Docker для Windows) в области уведомлений, а затем выберите Параметры.

  2. Выберите Ресурсы>Общий доступ к файлам и предоставьте общий доступ к нужной папке. Вы также можете предоставить доступ ко всему системному диску, однако мы не рекомендуем делать это.

    Снимок экрана: общие диски.

Совет

Visual Studio запрашивает, когда общие диски не настроены.

Невозможно начать отладку

Одна из причин этой проблемы может быть связана с устаревшими компонентами отладки в папке профиля пользователя. Чтобы последние компоненты отладки скачались при следующем сеансе отладки, выполните следующие команды для удаления папок:

  • del %userprofile%\vsdbg
  • del %userprofile%\onecoremsvsmon

Ошибки, характерные для сетей при отладке приложения

Попробуйте выполнить сценарий, который можно скачать из репозитория GitHub для очистки сетей узлов контейнера, который обновит связанные с сетью компоненты на вашем хост-компьютере.

Отказ в подключении

При использовании Docker для macOS может возникнуть ошибка, ссылающаяся на папку /usr/local/share/dotnet/sdk/NuGetFallbackFolder. Добавьте папку на вкладку "Общий доступ к файлам" в Docker.

Группа пользователей Docker

При работе с контейнерами в Visual Studio может возникнуть следующая ошибка.

Текущий пользователь должен находиться в группе docker-users для использования Docker Desktop. Добавьте себя в группу docker-users, а затем выйдите из Windows.

Для работы с контейнерами Docker требуются разрешения, предоставляемые участникам группы docker-users. Чтобы добавить себя в эту группу в Windows 10 или более поздней версии, сделайте следующее:

  1. В меню "Пуск" откройте Управление компьютером.
  2. Разверните локальные пользователи и группы и выберите группы.
  3. Найдите группу docker-users, щелкните правой кнопкой мыши и выберите команду "Добавить в группу".
  4. Добавьте свою учетную запись пользователя или несколько учетных записей.
  5. Выйдите из системы и войдите снова, чтобы изменения вступили в силу.

Добавлять пользователей в группы можно также с помощью команды net localgroup в командной строке администратора.

net localgroup docker-users DOMAIN\username /add

В PowerShell используйте командлет Add-LocalGroupMember.

Недостаточно места на диске

По умолчанию Docker хранит изображения в папке %ProgramData%/Docker/ , которая обычно находится на системном диске C :\ProgramData\Docker\. Чтобы образы не занимали место на системном диске, можно изменить расположение папки образов. Для этого:

  1. Щелкните правой кнопкой мыши значок Docker на панели задач и выберите "Параметры".

  2. Выберите Docker Engine (Обработчик Docker).

  3. На панели редактирования добавьте параметр свойства graph, указывающий требуемое расположение для образов Docker:

       "graph": "D:\\mypath\\images"
    

    Снимок экрана: общий доступ к файлам Docker.

  4. Выберите "Применить" и " Перезапустить". Эти действия изменяют файл конфигурации: %ProgramData%\docker\config\daemon.json. Ранее созданные образы не перемещаются.

Несоответствие типов контейнеров

При добавлении в проект поддержки Docker выберите контейнер Windows или Linux. Если узел Docker Server не настроен для запуска того же типа контейнера, что и целевой объект проекта, появится ошибка, аналогичная следующим:

Снимок экрана: несоответствие узла Docker и проекта.

Чтобы устранить эту проблему, щелкните правой кнопкой мыши значок Docker для Windows в области систем и выберите "Переключиться на контейнеры Windows" или "Переключиться на контейнеры Linux...".

Другие проблемы

При возникновении других проблем дополнительные сведения см. в репозитории Microsoft/DockerTools.

Ссылки