Развертывание Docker на Windows 11 для разработки: полное руководство по настройке WSL2 и виртуализации | AdminWiki

Развертывание Docker на Windows 11 для разработки: полное руководство по настройке WSL2 и виртуализации

17 мая 2026 9 мин. чтения

Работа с Docker на Windows 11 требует правильной подготовки системы. Стабильная контейнерная среда строится на двух фундаментальных компонентах: аппаратной виртуализации и современной подсистеме Windows для Linux (WSL2). Это руководство содержит проверенные инструкции для настройки каждого этапа, от активации функций в BIOS/UEFI до тонкой оптимизации производительности рабочей среды. Вы получите готовые команды и конфигурации, которые позволят быстро развернуть Docker Desktop и избежать распространенных проблем с сетью, доступом и ресурсами.

В этом руководстве: проверка поддержки CPU, активация виртуализации в BIOS/UEFI, установка WSL2 и Docker Desktop, оптимизация через .wslconfig, решение сетевых ошибок и шпаргалка команд Docker CLI.

Как проверить и включить виртуализацию для Docker в Windows 11?

Виртуализация - это аппаратная технология процессора (Intel VT-x или AMD-V), которая необходима для работы Hyper-V, WSL2 и, как следствие, Docker Desktop в режиме высокой производительности. Ее активация - критически важный первый шаг, который гарантирует стабильность всей последующей конфигурации.

Проверка поддержки виртуализации вашим процессором

Перед внесением изменений в BIOS/UEFI убедитесь, что ваш процессор поддерживает технологию. Откройте PowerShell или командную строку от имени администратора и выполните команду:

systeminfo

В результатах найдите строки «Требования Hyper-V». Если в графе «Значение» для пунктов «Расширения режима монитора виртуальных машин» и «Виртуализация включена в микропрограмме» указано «Да», поддержка есть и включена. Альтернативный способ - использовать команду:

(Get-ComputerInfo).HyperVRequirementVirtualizationFirmwareEnabled

Если результат True, виртуализация активна. Результат False указывает на необходимость включить опцию в BIOS/UEFI. Отсутствие поддержки на уровне процессора делает невозможным использование WSL2 и Hyper-V.

Активация виртуализации в BIOS/UEFI: подробный алгоритм

Настройки виртуализации находятся в микропрограмме материнской платы. Процесс входа и названия разделов могут отличаться у разных производителей.

  1. Перезагрузите компьютер.
  2. Сразу после включения нажмите клавишу для входа в BIOS/UEFI. Часто это Delete, F2, F10 или F12. Точную клавишу можно найти в руководстве к материнской плате или на экране загрузки.
  3. Перейдите в раздел с настройками процессора или безопасности. Обычно он называется «Advanced», «CPU Configuration», «Security» или «Advanced BIOS Features».
  4. Найдите опцию виртуализации. Ищите термины: «Intel Virtualization Technology (VT-x)», «AMD-V», «SVM Mode» или «Virtualization Technology».
  5. Установите для найденной опции значение «Enabled».
  6. Сохраните изменения и выйдите (чаще всего клавиша F10 с подтверждением «Save & Exit»).

Для популярных производителей расположение может быть таким:

  • ASUS UEFI: Advanced Mode (F7) → Advanced → CPU Configuration → Intel(AMD) Virtualization Technology.
  • Gigabyte: Settings → Miscellaneous → Intel Virtualization Technology.
  • MSI: Settings → Advanced → CPU Configuration → SVM Mode (для AMD) или Intel Virtualization Technology.

После перезагрузки снова проверьте статус виртуализации командой systeminfo.

Включение компонентов Windows Hyper-V и платформы ВМ

После активации на уровне железа необходимо включить соответствующие компоненты в Windows 11. Это можно сделать двумя способами.

Через графический интерфейс:

  1. Откройте «Панель управления» → «Программы и компоненты» → «Включение или отключение компонентов Windows».
  2. Установите флажки для следующих компонентов:
    • Hyper-V (включает все подкомпоненты)
    • Платформа виртуальной машины
    • Подсистема Windows для Linux
  3. Нажмите «OK» и перезагрузите компьютер по запросу системы.

Через PowerShell (администратор):

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

После выполнения команд также потребуется перезагрузка. Учтите, что включение Hyper-V может вызвать конфликты с другими системами виртуализации, такими как VMware Workstation или VirtualBox. Для их совместной работы потребуется дополнительная настройка или использование альтернативных режимов.

Установка и базовая настройка WSL2 и Docker Desktop

После подготовки системы можно приступать к установке основного стека. WSL2 предоставляет полноценное ядро Linux внутри Windows, а Docker Desktop использует его как высокопроизводительный backend для запуска контейнеров.

Установка подсистемы Windows для Linux (WSL2) одной командой

Самый простой способ - использовать официальную команду от Microsoft. Откройте PowerShell или командную строку от имени администратора и выполните:

wsl --install -d Ubuntu

Эта команда автоматически выполняет несколько действий: устанавливает компонент WSL, скачивает и устанавливает последнее ядро Linux, задает WSL2 как версию по умолчанию и разворачивает дистрибутив Ubuntu. В процессе потребуется перезагрузка. После нее откроется окно терминала для завершения настройки пользователя Ubuntu (нужно будет задать имя пользователя и пароль).

Чтобы проверить состояние установки и версию WSL, выполните:

wsl -l -v

В выводе вы должны увидеть дистрибутив «Ubuntu» и версию «2». Если команда wsl --install не работает, можно выполнить установку вручную: скачать дистрибутив «Ubuntu» из Microsoft Store и затем в PowerShell выполнить wsl --set-default-version 2.

Установка Docker Desktop и интеграция с WSL2

Скачайте установщик Docker Desktop для Windows с официального сайта. Запустите установщик, оставьте включенными предложенные опции (например, создание ярлыка на рабочем столе) и завершите процесс. После установки запустите Docker Desktop.

При первом запуске откроется окно с настройками. Перейдите в Settings → General. Убедитесь, что отмечена опция «Use WSL 2 based engine». Это ключевой параметр, который заставляет Docker использовать WSL2 вместо традиционной виртуальной машины Hyper-V, что обеспечивает лучшую производительность и интеграцию.

Далее перейдите в Settings → Resources → WSL Integration. Здесь нужно активировать интеграцию для установленного дистрибутива (например, Ubuntu). Это позволит запускать Docker команды непосредственно из терминала WSL и обеспечит прозрачный доступ к файловым системам.

Для первичной проверки откройте терминал WSL (Ubuntu) и выполните:

docker --version
docker run hello-world

Первая команда покажет версию Docker клиента. Вторая - скачает тестовый образ и запустит контейнер, который выведет приветственное сообщение. Если вы видите это сообщение, Docker Desktop успешно установлен и работает с WSL2.

Оптимизация производительности и решение проблем Docker на Windows 11

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

Настройка файла .wslconfig для контроля ресурсов (память, CPU)

По умолчанию WSL2 может использовать до 50% оперативной памяти и всех ядер процессора, что иногда приводит к тормозам основной системы. Чтобы установить лимиты, создайте в папке вашего пользователя Windows (например, C:\Users\ВашеИмя) файл с именем .wslconfig (обратите внимание на точку в начале) и добавьте в него конфигурацию:

[wsl2]
memory=4GB
processors=2
localhostForwarding=true
  • memory - ограничивает максимальный объем ОЗУ для WSL2 (например, 4GB).
  • processors - ограничивает количество ядер CPU, доступных WSL2.
  • localhostForwarding - разрешает проброс портов с localhost.

Чтобы изменения вступили в силу, закройте все окна WSL и выполните в PowerShell команду:

wsl --shutdown

При следующем запуске WSL2 будет использовать заданные ограничения. Более детальные настройки, включая управление swap-файлом и местоположением диска, описаны в нашем руководстве по настройке производительности WSL2.

Решение сетевых проблем и настройка файрвола

Проблемы с сетью - одна из частых причин сбоев. Начните диагностику с проверки сетей Docker внутри WSL:

docker network ls

Контейнер запускается, но не доступен по localhost:8080

Если контейнеры запускаются, но недоступны по localhost, проверьте настройки брандмауэра Windows. Docker Desktop автоматически создает правила, но они могут блокироваться. Для ручного создания правила разрешения трафика можно использовать команду:

netsh advfirewall firewall add rule name="Docker Inbound" dir=in action=allow protocol=TCP localport=80,443,8080

Эта команда разрешает входящий TCP-трафик на порты 80, 443 и 8080. Укажите порты, которые используете вы. Также проблемы могут вызывать сторонние VPN-клиенты, которые изменяют маршрутизацию. В таком случае попробуйте временно отключить VPN.

Диагностика частых ошибок: отказ в доступе, нехватка места

«Got permission denied while trying to connect to the Docker daemon»
Эта ошибка возникает при попытке выполнить команду docker без прав суперпользователя в WSL. Решение - добавить вашего пользователя в группу docker:

sudo usermod -aG docker $USER

После этого необходимо выйти из сеанса WSL и зайти заново.

«No space left on device»
WSL2 хранит данные в виртуальном диске (VHDX), размер которого может закончиться. Очистите неиспользуемые данные Docker:

docker system prune -a --volumes

Если это не помогает, возможно, требуется увеличить максимальный размер VHDX. Инструкции по управлению дисковым пространством WSL2 вы найдете в продвинутом руководстве по оптимизации Docker.

Ошибки запуска, связанные с образом WSL
Если Docker Desktop не запускается с сообщением о проблемах с WSL2, попробуйте обновить ядро: wsl --update. Также помогает сброс данных: в Docker Desktop перейдите в Troubleshoot → Reset to factory defaults (учитывайте, что это удалит все локальные образы и контейнеры).

Практика работы: основные команды Docker и пример конфигурации

Когда среда настроена, можно переходить к практическому использованию. Этот раздел содержит шпаргалку по основным командам и пример типовой конфигурации.

Шпаргалка по основным командам Docker CLI

Команды можно выполнять как в PowerShell Windows, так и в терминале WSL2.

КомандаОписаниеКлючевые флаги
docker psСписок запущенных контейнеров.-a (показать все, включая остановленные)
docker imagesСписок локальных образов.-a (показать все слои)
docker runЗапустить контейнер из образа.-d (в фоне), -p 80:80 (проброс портов), --name (имя контейнера)
docker stop <CONTAINER>Остановить контейнер.-
docker rm <CONTAINER>Удалить контейнер.-f (принудительно), -v (удалить связанные тома)
docker logs <CONTAINER>Показать логи контейнера.-f (следить за логами в реальном времени)

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

Пример docker-compose.yml для быстрого старта проекта

Docker Compose позволяет описывать многоконтейнерные приложения в одном YAML-файле. Пример простого стека с веб-сервером и базой данных:

version: '3.8'

services:
  web:
    image: nginx:alpine
    ports:
      - "8080:80"
    volumes:
      - ./html:/usr/share/nginx/html
    depends_on:
      - db

  db:
    image: postgres:15-alpine
    environment:
      POSTGRES_PASSWORD: example_password
    volumes:
      - postgres_data:/var/lib/postgresql/data

volumes:
  postgres_data:
  • version: версия схемы Compose.
  • services: определение сервисов (контейнеров).
  • image: используемый Docker-образ.
  • ports: проброс портов с хоста на контейнер.
  • volumes: подключение томов для сохранения данных.
  • environment: передача переменных окружения в контейнер.
  • depends_on: указывает порядок запуска сервисов.

Чтобы запустить этот стек, сохраните код в файл docker-compose.yml и выполните в той же папке команду docker-compose up -d. Остановить и удалить все сервисы можно командой docker-compose down.

Поддержка и обновление рабочей среды Docker

Для поддержания среды в актуальном и рабочем состоянии придерживайтесь рекомендованного порядка обновлений. Это минимизирует риски возникновения конфликтов.

  1. Обновление Windows 11. Устанавливайте регулярные накопительные обновления системы через «Параметры» → «Центр обновления Windows».
  2. Обновление ядра WSL2. Выполняйте команду wsl --update в PowerShell от администратора. Это обновит компонент WSL без переустановки дистрибутивов.
  3. Обновление Docker Desktop. Сервис обычно уведомляет о доступных обновлениях. Обновляйтесь через интерфейс Docker Desktop или скачивайте новую версию с официального сайта.
  4. Резервное копирование. Перед крупными обновлениями экспортируйте важные образы и тома. Для экспорта образа используйте docker save -o my_image.tar my_image:tag. Для импорта - docker load -i my_image.tar. Данные в именованных томах сохраняются автоматически, но для надежности копируйте критичные файлы на внешний носитель.
  5. Перенос проектов. Для переноса среды разработки на другой компьютер достаточно скопировать папку с проектом и файлы docker-compose.yml. Убедитесь, что на новом компьютере установлены те же версии Docker Desktop и WSL2.

Следуя этим инструкциям, вы создадите стабильную, оптимизированную среду для контейнерной разработки на Windows 11. Для углубленного изучения безопасности контейнеров, включая работу с non-root пользователями и сканирование образов на уязвимости, обратитесь к практическому руководству по безопасности Docker.

Ключевые выводы:

  • Работа Docker Engine на Windows 11 требует активации аппаратной виртуализации (VT-x/AMD-V) в BIOS/UEFI и включения компонентов Hyper-V и платформы ВМ в системе.
  • WSL2 выступает высокопроизводительным backend для Docker Daemon, настройка интеграции в Docker Desktop обязательна.
  • Файл .wslconfig позволяет контролировать потребление памяти и CPU, предотвращая тормоза основной системы.
  • Типичные сетевые проблемы решаются настройкой брандмауэра и проверкой конфликтов с VPN.
  • Готовая DevOps среда с Docker Desktop и WSL2 позволяет запускать контейнеры Linux и управлять ими через знакомый CLI.
Поделиться:
Сохранить гайд? В закладки браузера