Настройка контейнеров разработки в Windows

Контейнер Dev Container позволяет использовать контейнер Docker в качестве полной среды разработки, определяемого файлом devcontainer.json, зафиксированным в репозитории. Все, кто открывает проект, получают те же средства, расширения и параметры, независимо от того, что установлено на локальном компьютере.

На этой странице описывается настройка Windows. Полные сведения о том, какие контейнеры разработки и как они работают, см. в документации по контейнерам разработки на веб-сайте VS Code.

Необходимые условия

Для контейнеров разработки в Windows требуется:

  • WSL 2 — подсистема Windows для Linux версии 2. Установите WSL , если вы еще не сделали этого.
  • Docker Desktop для Windows с включенной фоновай системой WSL 2. Скачайте Docker Desktop и следуйте инструкциям установщика. Во время установки убедитесь, что подсистема на основе WSL 2 выбрана в параметрах> Docker Desktop (общие параметры).
  • Visual Studio CodeDownload VS Code.
  • Расширение "Контейнеры разработки " — установка расширения "Контейнеры разработки " из VS Code Marketplace.

Место хранения файлов имеет значение

Это важно

В Windows производительность контейнера разработки сильно зависит от того, где живут файлы проекта. Сохраните проект в файловой системе WSL 2 (например, /home/yourname/projects/), а не в файловой системе Windows (например, C:\Users\yourname\projects\).

Когда файлы находятся в файловой системе Windows (C:\), Docker обращается к ним через общую папку с несколькими ОС, что значительно медленнее. Если файлы находятся в файловой системе WSL 2, Docker использует собственные операции ввода-вывода Linux и производительность значительно лучше , особенно для средств просмотра файлов и сборок.

Чтобы клонироваться в файловую систему WSL 2, откройте дистрибутив WSL (например, Ubuntu) из меню "Пуск" или Терминал Windows и клонируйте его:

cd ~
mkdir projects && cd projects
git clone https://github.com/your-org/your-repo.git

Затем откройте папку в VS Code из WSL:

code your-repo

VS Code подключается к WSL и обнаруживает devcontainer.json, если он присутствует.

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

После открытия проекта в VS Code (подключено к WSL):

  1. Нажмите клавишу F1 и выберите "Контейнеры разработки": снова откройте контейнер.
  2. VS Code создает образ контейнера, определенный в .devcontainer/devcontainer.json (или запрашивает добавить его, если он отсутствует).
  3. По завершении сборки VS Code повторно подключается внутри контейнера со всеми настроенными инструментами и расширениями.

Чтобы вернуться в локальную среду, нажмите клавишу F1 и выберите "Контейнеры разработки: повторно открыть папку локально".

Добавление контейнера разработки в существующий проект

Если у проекта еще нет devcontainer.json :

  1. Нажмите клавишу F1 и выберите "Контейнеры разработки": добавление файлов конфигурации контейнеров разработки.
  2. Выберите базовый образ (например, Node.js, Python или универсальный образ Debian/Ubuntu).
  3. VS Code создает файл .devcontainer/devcontainer.json, который можно проверить в системе контроля версий.

Полный справочник параметров devcontainer.json см. в разделе devcontainer.json reference на сайте спецификации Dev Container.

Troubleshooting

Container запускается, но изменения файлов не обнаружены Проект, скорее всего, хранится в файловой системе Windows. Переместите его в WSL (см. раздел "Где хранятся файлы выше").

Docker Desktop не запускается, а интеграция WSL отсутствует Откройте Docker Desktop, перейдите в раздел "Параметры>ресурсов>WSL" интеграции и включите интеграцию для установленных дистрибутивов WSL.

VS Code не удается подключиться к контейнеру Убедитесь, что Docker Desktop запущен перед открытием VS Code. Проверьте значок области системы Docker Desktop.

Дальнейшие действия