Как установить Docker на Windows

Чтобы установить Docker на Windows, сам Docker предлагает Docker Desktop: один установщик, в котором движок, команда docker и окно для управления контейнерами. В Windows 11 и Windows 10 он запускает Linux-контейнеры внутри WSL 2 — лёгкой подсистемы Linux от Microsoft. Ниже — что нужно компьютеру, установка, первый контейнер и ошибки, из-за которых Docker Desktop не запускается.

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

  • 64-битная Windows 11 версии 23H2 (сборка 22631) или новее либо Windows 10 22H2 (сборка 19045). На странице Docker названы выпуски Pro, Enterprise и Education. В Home и Education работают только Linux-контейнеры — а именно они нужны большинству проектов. Версию покажет команда winver в меню «Пуск».
  • Не меньше 8 ГБ памяти и 64-битный процессор с SLAT — он есть у любого компьютера последних десяти лет.
  • Виртуализация включена в BIOS или UEFI. Откройте «Диспетчер задач», вкладку «Производительность» › «ЦП» и найдите строку «Виртуализация: Включено».
  • WSL версии 2.1.5 или новее. Её поставит или обновит следующий раздел.

Docker Desktop бесплатен для личного пользования, учёбы, некоммерческих open source проектов и небольших компаний — меньше 250 сотрудников и меньше 10 миллионов долларов выручки в год. Компаниям крупнее для работы нужна платная подписка.

Как поставить или обновить WSL 2

Щёлкните правой кнопкой по «Пуску», выберите «Терминал (Администратор)» и выполните первую команду, если WSL на компьютере ещё нет, или вторую, чтобы её обновить. Если система попросит, перезагрузите Windows. Третья команда покажет версию.

wsl --install wsl --update wsl --version

Если проверка версии выводит только справку, на компьютере старая встроенная WSL — ей нужна команда обновления из блока выше. Про дистрибутивы и ошибки подробнее: как установить WSL на Windows.

Как установить Docker Desktop на Windows

  1. На странице docs.docker.com/desktop/setup/install/windows-install нажмите Docker Desktop for Windows - x86_64. Для компьютеров на процессоре Arm там же есть своя сборка.
  2. Запустите Docker Desktop Installer.exe. По умолчанию установщик ставит программу только для вашей учётной записи, права администратора для этого не нужны. Установка для всех пользователей нужна, только если требуются Windows-контейнеры.
  3. На странице Configuration оставьте Per-user installation (Recommended): этот вариант работает через WSL 2. У All-users installation пункт Use WSL 2 instead of Hyper-V тоже отмечен. Нажмите OK, а когда установка закончится — Close.
Установщик Docker Desktop на странице Configuration с выбранным Per-user installation (Recommended)
  1. Откройте Docker Desktop из меню «Пуск» и нажмите Accept под соглашением Docker Subscription Service Agreement: без этого Docker Desktop не запустится. Входить в аккаунт Docker не обязательно.

Через winget в Терминале установщик пройдёт без своих окон:

winget install --id Docker.DockerDesktop -e

Как запустить первый контейнер

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

docker version docker run hello-world

В выводе ищите строку Hello from Docker!: значит, движок скачал образ и запустил контейнер. Для настоящего сервера попробуйте эту команду, а потом откройте http://localhost:8080:

docker run -d -p 8080:80 nginx

Как пользоваться Docker из Ubuntu в WSL

Если вы работаете внутри дистрибутива WSL, например Ubuntu, docker работает и там, с теми же контейнерами: для дистрибутива по умолчанию Docker Desktop включает это сам. Для другого откройте Settings › Resources › WSL Integration, включите его и нажмите Apply. Файлы проекта держите в файловой системе Linux (~/projects), а не в /mnt/c: так доступ к ним намного быстрее.

Частые проблемы с Docker Desktop

  • WSL update failed или Docker Desktop requires a newer WSL kernel version — в Терминале от имени администратора выполните: wsl --update Потом перезагрузите Windows. Если Microsoft Store на компьютере заблокирован, документация Docker советует поставить свежий .msi WSL со страницы github.com/microsoft/WSL/releases.
  • Docker Desktop пишет, что виртуализация не включена, или WSL выдаёт 0x80370102 — включите виртуализацию в BIOS или UEFI (она часто называется Intel VT-x, AMD-V или SVM) и снова загляните в «Диспетчер задач» › «Производительность». Docker советует ещё эту команду в Терминале от имени администратора: bcdedit /set hypervisorlaunchtype auto Потом перезагрузите компьютер.
  • Docker Desktop - Unexpected WSL error — проверьте саму WSL командой: wsl -l -v Если и она падает, сначала почините WSL, см. инструкцию по WSL.
  • open //./pipe/dockerDesktopLinuxEngine: The system cannot find the file specified — команда docker не находит движок. Запустите Docker Desktop и дождитесь, пока движок заработает.
  • Docker Desktop - Access Denied — при установке для всех пользователей ваша учётная запись должна быть в группе docker-users. Администратор добавляет её командой: net localgroup docker-users <user> /add Затем выйдите из Windows и войдите снова. Docker предупреждает, что эта группа даёт права уровня администратора.

Если вы работаете и на Mac

MacWashing, раздел «Сборка мусора»: найдены мусор Xcode, пользовательский кэш, установщики и журналы, к очистке 22,83 ГБ

Сборка мусора в MacWashing находит кэш всех знакомых ей программ, в том числе спрятанный внутри их данных, а ещё журналы, мусор Xcode и остатки удалённых программ. Она показывает, сколько места занимает каждая находка, и очищает всё за один раз. Всё спорное остаётся без галочки, пока вы не решите.

Бесплатная пробная версия · macOS 14 и новее

Вопросы и ответы

Как установить Docker на Windows 11?

Поставьте или обновите WSL, затем запустите установщик Docker Desktop с docs.docker.com, оставив рекомендуемую установку для одного пользователя. Проверьте командой: docker run hello-world

Docker Desktop бесплатный?

Да — для личного пользования, учёбы, некоммерческого open source и компаний меньше 250 сотрудников и 10 миллионов долларов выручки в год. Крупные компании для работы платят за подписку.

Почему Docker Desktop занимает так много места?

Образы, контейнеры, тома и кэш сборки лежат в файле диска WSL, и он со временем растёт. Что занимает место, покажет команда: docker system df Остановленные контейнеры, неиспользуемые сети, образы без тегов и кэш сборки удалит эта: docker system prune