Установка Docker Desktop на Windows


Прежде чем установить Docker Desktop, необходимо выбрать один из готовых протоколов — WSL 2 и Hyper-V. Каждый из них имеет свои особенности, и в зависимости от выбора определяется пул системных требований. Разберёмся, что подходит именно вам, и пройдём весь путь, вплоть до активированного контейнера и настраиваемого окружения так, чтобы работать было удобно.

Зачем вообще нужен Docker Desktop под Windows

Представьте ситуацию: вы собрали приложение, и на вашем компьютере оно работает идеально. Затем передаёте его коллегам — а у них другая версия Python, другие библиотеки, другая операционная система. Всё ломается. Docker решает эту проблему: он упаковывает приложение вместе со всем, что ему нужно, в контейнер — изолированную среду, которая одинаково работает везде.

Но есть нюанс. Docker создан для Linux. Контейнеры используют механизмы Linux-ядра — пространства имён для изоляции процессов и контрольные группы для управления ресурсами. На Windows ничего из этого нет. Поэтому просто взять и установить Docker Engine в Windows, как обычную программу, не получится.

Здесь и понадобится Docker Desktop. Это приложение разворачивает внутри Windows легковесную виртуальную машину с Linux, а уже в ней запускает Docker Engine. Снаружи вы этого почти не замечаете — работа идёт через привычную командную строку или графический интерфейс, но на самом деле в этот момент происходит всякая «магия» с виртуализацией.

Docker Desktop включает в себя Docker Engine (собственный движок для контейнеров), Docker CLI (команды в терминале), Docker Compose (инструмент для запуска многоконтейнерных приложений) и графическую оболочку для управления образами, контейнерами и томами. По сути, это «всё в одном» для разработчика, чтобы использовать контейнеры на Windows.

Какой путь выбрать: WSL 2 или Hyper-V

Прежде чем скачать установщик, стоит определиться с бэкендом виртуализации. Docker Desktop предлагает два варианта, в зависимости от требований системы, производительности и доступных типов контейнеров.

WSL 2 (Подсистема Windows для Linux 2) — подсистема, которая запускает настоящее Linux-ядро внутри Windows. Это не эмуляция и не прослойка-переводчик между системными вызовами, как было в первой версии WSL. Это полноценный Linux, который динамически делит ресурсы с Windows: если контейнерам нужно 2 ГБ памяти — WSL возьмёт 2 ГБ, а не зарезервирует 8 заранее.

Hyper-V — встроенный гипервизор Microsoft, создающий полноценную виртуальную машину с выделенными ресурсами. Более тяжеловесный вариант, но с жёсткой изоляцией и поддержкой Windows-контейнеров.

Вот простой алгоритм выбора:

  • У вас Windows Home → только WSL 2. Hyper-V в домашней редакции недоступен.
  • Нужны Windows-контейнеры (ASP.NET Framework, IIS, Windows-сервисы) → Hyper-V. WSL 2 запускает только Linux-контейнеры.
  • Установлена старая версия VirtualBox или VMware → WSL 2 будет безопаснее. Hyper-V может конфликтовать со сторонними гипервизорами, хотя в последних версиях VirtualBox (6.0+) и VMware Workstation (15.5.5+) совместимость улучшена.
  • Важна корпоративная безопасность и строгая изоляция → Hyper-V. Виртуальная машина полностью отделена от хост-системы.
  • Во всех остальных случаях → WSL 2. Быстрее, легче, потребляет меньше ресурсов, рекомендуется самим Docker.

Краткая сводка:

Критерий WSL 2 Hyper-V
Производительность Высокая, динамическое выделение ресурсов Ниже, фиксированные ресурсы ВМ
Типы контейнеров Только Linux Linux и Windows
Редакция Windows Все, включая Home Профессиональная, Enterprise, Education
Изоляция Относительная Строгая
Сторонние гипервизоры Не конфликтуют Возможные конфликты

Что нужно проверить перед установкой

Независимо от выбора бэкенда, есть общий контрольный список. Пройдите по нему перед установкой — сэкономите время на отладке.

Версия и редакция Windows. Нужна 64-битная Windows 10 версии 22H2 (сборка 19045) или новее, либо Windows 11 версии 23H2 (сборка 22631) или новее. Редакции Enterprise, Pro и Education поддерживают оба бэкенда. Редакция Home — только WSL 2. Посмотреть свою версию можно командой winver в строке поиска Windows.

Аппаратная виртуализация. Без неё не запустится ни WSL 2, ни Hyper-V. Проверьте, не перезагружаясь: откройте «Диспетчер задач» (Ctrl+Shift+Esc), перейдите на вкладку «Производительность», выберите «ЦП». В нижней части окна найдите надпись «Виртуализация». Если написано «Включено» — всё хорошо. Если «Отключено» — нужно зайти в BIOS/UEFI и активировать эту опцию. В зависимости от производителя она может называться Intel VT-x, Intel Virtualization Technology, AMD-V или SVM Mode.

Оперативная память. Минимум — 4 ГБ. Для комфортной работы с контейнерами лучше иметь 8 ГБ и более.

Процессор. 64-битный, с поддержкой SLAT (трансляция адресов второго уровня). Все процессоры Intel и AMD, выпущенные примерно после 2010 года, имеют SLAT.

Дополнительно для WSL 2: версия WSL 2.1.5 или новее. Проверить можно командой wsl --version в PowerShell. Если не распознаётся или версия ниже требуемой — не страшно, мы обновим WSL в процессе установки.

Дополнительно для Hyper-V: компоненты Hyper-V и контейнеры должны быть включены. Если они не включены — тоже не беда, ниже покажем, как это сделать.

Путь первый: установка через WSL 2

Это рекомендуемый путь. Пройдём его от чистой системы до рабочего контейнера за один заход.

Шаг 1. Установка WSL 2

Откройте PowerShell от имени администратора (правой кнопкой по кнопке «Пуск» → «Терминал (Администратор)» или «Windows PowerShell (Администратор)») и выполните:

wsl --install

Эта команда делает сразу несколько вещей: включает компонент WSL и виртуальную платформу, загружает и устанавливает ядро Linux, задаёт WSL 2 в качестве версии по умолчанию и устанавливает дистрибутив Ubuntu. После выполнения перезагрузите компьютер.

Если WSL у вас уже стоит, но вы не уверены в версии, выполните:

wsl --version

Нужна версия 2.1.5 или выше. Для обновления:

wsl --update

Шаг 2. Первичная настройка Linux-дистрибутива

После перезагрузки запустите Ubuntu через меню «Пуск». При первом запуске система запросит ввод имени пользователя и пароля. Они существуют только внутри Linux-среды и не влияют на учётную запись Windows. Запомните пароль — он понадобится для команд с sudo.

Шаг 3. Установка Docker Desktop

Загрузите установщик с официального сайта Docker (раздел Docker Desktop для Windows). Запустите файл Docker Desktop Installer.exe. В окне конфигурации убедитесь, что опция «Использовать WSL 2 вместо Hyper-V» включена — при выборе бэкенда WSL 2 она должна быть отмечена. Дождитесь окончания установки.

После установки выполните перезаход в учётную запись Windows (не обязательно перезагружать компьютер — достаточно выйти и войти обратно).

Шаг 4. Первый запуск Docker Desktop

Откройте Docker Desktop из меню «Пуск». При первом запуске приложение запросит принять условия лицензионного соглашения. После этого Docker Engine начнёт инициализацию — в системном трее появится иконка с китом. Когда анимация прекратится, Docker готов к работе.

Шаг 5. Проверка

Откройте PowerShell и выполните:

docker run hello-world

Docker скачает тестовый образ из Docker Hub и запустит контейнер. Если вы увидите приветственное сообщение с объяснением того, что произошло, — всё настроено правильно. Путь от чистой системы до рабочего контейнера пройден.

Путь второй: установка через Hyper-V

Этот путь подходит для пользователей Windows Pro, Enterprise или Education, которым нужны Windows-контейнеры или строгая изоляция.

Шаг 1. Включение Hyper-V

Откройте PowerShell от имени администратора и выполните:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

Команда устанавливает все компоненты Hyper-V. После выполнения потребуется перезагрузка.

Убедитесь, что всё встало правильно:

Get-WindowsOptionalFeature -Online -FeatureName *hyper*

У всех компонентов Hyper-V в столбце State должно быть значение Enabled.

Альтернативный способ — через графический интерфейс: «Панель управления» → «Программы» → «Включение или отключение компонентов Windows». Выберите Hyper-V, поставьте галочку, нажмите «ОК», перезагрузитесь.

Шаг 2. Установка Docker Desktop

Скачайте тот же установщик с сайта Docker. Запустите его, но на этот раз отключите галочку «Использовать WSL 2 вместо Hyper-V». Дождитесь окончания установки и перезайдите в учётную запись.

Шаг 3. Первый запуск и проверка

Запустите Docker Desktop, примите лицензионное соглашение, дождитесь иконки в трее. Проверьте:

docker run hello-world

Если всё пройдёт успешно — контейнер запустится и выведет приветственное сообщение.

Переключение на Windows-контейнеры

По умолчанию Docker Desktop работает с Linux-контейнерами. Чтобы переключиться на Windows-контейнеры, нажмите правую кнопку на иконку Docker в системном трее и выберите «Switch to Windows containers». Учтите, что Windows-контейнеры доступны только при бэкенде Hyper-V и только на редакциях Pro, Enterprise и Education.

Первые шаги после установки: настраиваем сразу

Docker работает, контейнер запустился — но до комфортной рабочей среды ещё пара шагов. Вот что стоит сделать сразу.

Добавление в группу docker-пользователей. Если Docker Desktop устанавливал администратор, а вы работаете под обычной учётной записью, некоторые команды могут требовать прав. Администратор должен добавить вас в группу docker-users:

net localgroup docker-users <ваше_имя_пользователя> /add

После этого выйдите из учётной записи и войдите снова.

Интеграция с WSL-дистрибутивами. Если вы используете WSL 2 и у вас установлено несколько дистрибутивов (например, Ubuntu и Debian), Docker Desktop по умолчанию может быть интегрирован не со всеми. Перейдите в Настройки → Resources → WSL Integration и включите интеграцию для тех дистрибутивов, из которых планируете управлять Docker.

Автозапуск. Если вы работаете с Docker ежедневно, имеет смысл включить автоматический запуск. Перейдите в «Настройки» → «General» и активируйте «Start Docker Desktop when you log in». Docker будет запускаться при входе в Windows.

Ограничение ресурсов для WSL 2. По умолчанию WSL 2 может потреблять до 50% оперативной памяти и все доступные ядра процессора. На машине с 16 ГБ ОЗУ — 8 ГБ для WSL — иногда многовато, иногда маловато. Настроить лимиты можно через файл .wslconfig.

Откройте Проводник, перейдите в папку C:\Users\<ваше_имя> (или введите %UserProfile% в адресной строке). Создайте файл с именем .wslconfig (если его ещё нет). Важно: файл должен называться именно так, с точкой в начале и без расширения .txt. Откройте его в текстовом редакторе и пропишите секции:

[wsl2]
memory=4GB
processors=2
swap=2GB

Подставьте свои значения. На машине с 16 ГБ оперативной памяти WSL можно выделить 8 ГБ. На машине с 8 ГБ — лучше выделить 3–4 ГБ, чтобы осталось место для самой Windows. После сохранения файла выполните в PowerShell:

wsl --shutdown

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

Настройка рабочего окружения

Docker установлен, ресурсы настроены. Теперь превратим всё это в удобную среду для разработки.

VS Code и расширения. Visual Studio Code — самый популярный редактор для работы с Docker на Windows. Три расширения, которые стоит поставить:

  • WSL (от Microsoft) — позволяет открывать проекты внутри файловой системы WSL напрямую из VS Code.
  • Dev Containers (от Microsoft) — даёт возможность открыть проект внутри Docker-контейнера. VS Code подключается к контейнеру, и вся разработка (включая терминал, отладку, расширения) происходит в изолированной среде.
  • Docker (от Microsoft) — добавляет в боковую панель VS Code обзор контейнеров, образов, томов и сетей. Оттуда же можно запускать, останавливать и удалять контейнеры.

Типичный рабочий процесс: открываете VS Code, подключаетесь к WSL-дистрибутиву через расширение WSL, открываете папку с проектом, а затем через Dev Containers: Reopen in Container переносите среду разработки в собственный контейнер. Всё необходимое для разработки хранится в контейнере, а ваша основная система остаётся чистой.

Терминал Windows. Если вы ещё не перешли на Терминал Windows — самое время. Это приложение от Microsoft, которое объединяет PowerShell, cmd, WSL-дистрибутивы и любые другие терминалы в одном окне с вкладками. Установить его можно через Microsoft Store.

В терминале Windows можно добавить отдельный профиль для Ubuntu (или другого WSL-дистрибутива) и запускать Docker-команды где угодно. Удобно, когда нужно быстро переключаться между PowerShell на хосте и Linux-терминалом в WSL.

Docker Compose — проверка боем. Чтобы убедиться, что работают не только одиночные контейнеры, но и многоконтейнерные приложения, проведите простой тест. Создайте файл docker-compose.yml:

services:
  web:
    image: nginx:alpine
    ports:
      - "8080:80"
  db:
    image: postgres:16-alpine
    environment:
      POSTGRES_PASSWORD: example

Затем выполните из того же каталога:

docker compose up -d

Docker скачает образы Nginx и PostgreSQL, создаст два контейнера и свяжет их в одну сеть. Откройте браузер http://localhost:8080 — вы должны увидеть стандартную страницу Nginx. Это значит, что Docker Compose работает, сеть между контейнерами настроена, а проброс портов работает.

Чтобы остановить и удалить контейнеры:

docker compose down

Оптимизация производительности

Docker на Windows работает через виртуализацию, и это неизбежно влечёт накладные расходы. Но их можно сократить.

Храните проекты внутри WSL, а не на диске Windows. Это самый важный совет. Когда проект лежит, например, в /mnt/c/Users/dev/projects/, каждое обращение к файлу проходит через трансляцию между файловой системой Windows (NTFS) и Linux. Это работает в несколько раз медленнее, чем доступ к файлам внутри WSL. Перенесите код в домашний каталог WSL (~/projects/) и заметите разницу — особенно на операциях с большим количеством файлов, например, npm install или git status.

Не давайте WSL съесть всю память. Процесс Vmmem в Диспетчере задач — это ваш WSL. По умолчанию он может занять половину оперативной памяти и не всегда возвращает её обратно Windows. Файл .wslconfig (о нём мы говорили выше) решает эту задачу: задайте разумный лимит памяти, и Windows не будет задыхаться рядом с Docker.

Регулярно чистите неиспользуемые ресурсы. Со временем накапливаются остановленные контейнеры, промежуточные образы и неиспользуемые тома. Всё это занимает место на диске. Одна команда наводит порядок:

docker system prune -a

Флаг -a удаляет в том числе образы, которые не использовались ни в одном контейнере. Будьте осторожны: если у вас есть образы, которые вы загружали вручную и планируете использовать, их придётся скачивать заново.

Используйте функцию экономии ресурсов в Docker Desktop. В настройках Docker Desktop есть режим Resource Saver. Когда контейнеры не запущены, Docker автоматически снижает потребление ресурсов. Этот режим включён по умолчанию, но убедитесь, что он не был отключён: Настройки → Resources → Resource Saver.

Что делать, если что-то пошло не так

Типичные проблемы при установке и работе с Docker на Windows — и что с ними делать.

Установил Docker Desktop, но он не запускается. Пишет про виртуализацию.

Значит, аппаратная виртуализация отключена в BIOS/UEFI. Перезагрузите компьютер, зайдите в BIOS (обычно клавиши Del, F2 или F12 при включении — зависит от производителя), найдите опцию Intel VT-x, Intel Virtualization Technology, AMD-V или SVM Mode, включите её, сохраните и перезагрузитесь.

В терминале WSL команда docker не найдена.

Docker Desktop установлен, но не интегрирован с вашим WSL-дистрибутивом. Откройте Docker Desktop → Настройки → Resources → WSL Integration. Убедитесь, что переключатель напротив вашего дистрибутива включён. После этого закройте и снова откройте терминал WSL.

Установка WSL не завершилась или версия WSL слишком старая.

Выполните в PowerShell от имени администратора:

wsl --update

Перезагрузите компьютер. Если не помогло и доступ к Microsoft Store ограничен, скачайте MSI-пакет с GitHub-страницы релизов WSL (github.com/microsoft/WSL/releases) и установите вручную.

Docker запустился, контейнер работает, но порт не отвечает из браузера.

Три вещи для проверки. Первое: убедитесь, что при запуске контейнера вы пробросили порт (флаг -p, например -p 8080:80). Второе: проверьте, не занят ли этот порт другим приложением (в PowerShell: netstat -ano | findstr :8080). Третье: брандмауэр Windows может блокировать подключение — временно отключите его для диагностики.

Всё жутко тормозит.

Скорее всего, файлы проекта лежат на стороне Windows (/mnt/c/...), а не внутри WSL. Перенесите их в ~/projects. Если тормозит сама Windows — проверьте в Диспетчере задач, сколько памяти потребляет процесс Vmmem. Ограничьте потребление через .wslconfig, как указано выше.

Hyper-V конфликтует с VirtualBox или VMware.

Обновите VirtualBox до версии 6.0 или выше, VMware Workstation — до 15.5.5 или выше. В этих версиях добавлена совместимость с Hyper-V. Если обновление невозможно, переключите Docker Desktop на бэкенд WSL 2 — он не конфликтует со сторонними гипервизорами.


Полезный материал?
0
0
Автор: Олег
опубликовано: 19.02.2026
Читайте нас: 
Последние статьи
Вверх!