Устранение неполадок при разработке с Docker в Visual Studio
Область применения: Visual Studio
Используя средства Visual Studio для работы с контейнерами, вы можете столкнуться с некоторыми проблемами при создании или отладке приложения. В этой статье приведены некоторые распространенные действия по устранению неполадок.
Совместное использование тома не включено. Включите совместное использование тома в параметрах Docker CE для Windows (только для контейнеров Linux)
Общий доступ к файлам необходимо управлять только в том случае, если вы используете Hyper-V с Docker. Если вы используете WSL 2, выполните следующие действия, и параметр общего доступа к файлам не будет отображаться. Для устранения проблемы выполните указанные ниже действия.
Щелкните правой кнопкой мыши Docker for Windows (Docker для Windows) в области уведомлений, а затем выберите Параметры.
Выберите Ресурсы>Общий доступ к файлам и предоставьте общий доступ к нужной папке. Вы также можете предоставить доступ ко всему системному диску, однако мы не рекомендуем делать это.
Совет
Visual Studio запрашивает, когда общие диски не настроены.
Проблемы с путями в контейнерах Windows
При использовании путей к файлам, относящихся к Linux в контейнере Windows, могут возникнуть различные ошибки ввода-вывода или ввода-вывода файлов. В этом случае проверьте значение переменной VSCT_WslDaemon
среды. Если переменная задана, Visual Studio пытается использовать пути подсистема Windows для Linux (WSL), чтобы ссылаться на файлы Windows для создания томов. Это необходимо для Docker в WSL, но не работает с Docker Desktop в Windows. Эта переменная среды всегда должна быть не задана, если вы используете контейнеры Windows.
Невозможно начать отладку
Одна из причин этой проблемы может быть связана с устаревшими компонентами отладки в папке профиля пользователя. Чтобы последние компоненты отладки скачались при следующем сеансе отладки, выполните следующие команды для удаления папок:
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 или более поздней версии, сделайте следующее:
- В меню "Пуск" откройте Управление компьютером.
- Разверните локальные пользователи и группы и выберите группы.
- Найдите группу docker-users, щелкните правой кнопкой мыши и выберите команду "Добавить в группу".
- Добавьте свою учетную запись пользователя или несколько учетных записей.
- Выйдите из системы и войдите снова, чтобы изменения вступили в силу.
Добавлять пользователей в группы можно также с помощью команды net localgroup
в командной строке администратора.
net localgroup docker-users DOMAIN\username /add
В PowerShell используйте командлет Add-LocalGroupMember.
Недостаточно места на диске
По умолчанию Docker хранит изображения в папке %ProgramData%/Docker/ , которая обычно находится на системном диске C :\ProgramData\Docker\. Чтобы образы не занимали место на системном диске, можно изменить расположение папки образов. Для этого:
Щелкните правой кнопкой мыши значок Docker на панели задач и выберите "Параметры".
Выберите Docker Engine (Обработчик Docker).
На панели редактирования добавьте параметр свойства
graph
, указывающий требуемое расположение для образов Docker:"graph": "D:\\mypath\\images"
Выберите "Применить" и " Перезапустить". Эти действия изменяют файл конфигурации: %ProgramData%\docker\config\daemon.json. Ранее созданные образы не перемещаются.
Несоответствие типов контейнеров
При добавлении в проект поддержки Docker выберите контейнер Windows или Linux. Если узел Docker Server не настроен для запуска того же типа контейнера, что и целевой объект проекта, появится ошибка, аналогичная следующим:
Чтобы устранить эту проблему, щелкните правой кнопкой мыши значок Docker для Windows в области систем и выберите "Переключиться на контейнеры Windows" или "Переключиться на контейнеры Linux...".
Другие проблемы
При возникновении других проблем дополнительные сведения см. в репозитории Microsoft/DockerTools.