Содержание
- Старт в Docker на Windows 11 за 5 минут
- Проверка перед стартом: готов ли ваш ПК с Windows 11 к Docker?
- Основа: установка подсистемы Windows для Linux (WSL 2)
- Главное событие: установка Docker Desktop
- Поехали! Проверка и первый настоящий контейнер
- Ваш набор основных команд Docker
- Устранение неполадок: типичные ошибки установки & работы
- Вопрос 1: почему появляется ошибка “Неожиданная ошибка WSL”?
- FAQ 2: Docker Desktop не запускается после закрытия или перезагрузки ПК. Что не так?
- FAQ 3: Установщик выдаёт “Это приложение не может быть запущено на вашем ПК” Как это исправить?
- Вопрос 4: установка завершилась ошибкой из-за виртуализации или WSL.
- FAQ 5: При выполнении команд docker я получаю ошибки “permission denied” или “daemon is not running”.
- Заключение: ваше путешествие в Docker начинается сейчас
Старт в Docker на Windows 11 за 5 минут
Docker is an open platform that has fundamentally changed modern software development. It leverages containerization to package applications and their dependencies into lightweight, isolated, and portable units called containers. Эта технология изящно решает классическую и часто раздражающую проблему “у меня работает”: приложение ведёт себя одинаково в средах разработки, тестирования и эксплуатации. К концу этого подробного руководства у любого разработчика или энтузиаста технологий будет полностью рабочая среда Docker на ПК с Windows 11, готовая к уверенной сборке, публикации и запуску контейнерных приложений.
Обещание “5 минут” в заголовке относится только к активному времени, которое пользователь тратит на установку и выполнение команд. Важно задать реалистичные ожидания: пассивное ожидание загрузки программ, перезагрузки системы и первичная разовая настройка подсистемы Windows для Linux (WSL) в эту оценку не входят. Руководство построено так, чтобы активный процесс прошёл как можно быстрее и без ошибок: все предварительные условия разобраны заранее.
Этот материал даст полную дорожную карту установки. Он начинается с критически важной проверки системных требований, затем переходит к установке WSL 2 и Docker Desktop, охватывает проверку настройки и завершается запуском практического контейнера с веб-сервером Nginx.
Для начала полезно разобрать несколько базовых понятий Docker. Образ — это шаблон только для чтения, который содержит код приложения, среду выполнения, системные инструменты и все необходимые зависимости. A
Контейнер — это запущенный экземпляр образа. Это самодостаточная среда, в которой выполняется приложение.
Docker Desktop — это простое в установке приложение для Windows, которое объединяет Docker Engine (основную фоновую службу, или демон), интерфейс командной строки (CLI) для работы с ним и другие нужные инструменты в одном удобном пакете. Главное преимущество этой экосистемы — единообразие: оно резко ускоряет рабочие процессы разработки и снижает число ошибок, связанных с окружением.
Проверка перед стартом: готов ли ваш ПК с Windows 11 к Docker?
Несколько минут на эту предполётную проверку — самый важный шаг для плавной и быстрой установки. Раздел помогает заранее устранить самые частые точки отказа и избавляет от часов поиска непонятных ошибок позже. Значительная часть неудачных установок связана не с самим Docker, а с цепочкой ошибок в настройках системы. Например, отключённая виртуализация в прошивке компьютера не даст Windows Subsystem for Linux (WSL 2) работать правильно. Это, в свою очередь, приведёт к тому, что установка Docker Desktop завершится непонятными ошибками вроде “Неожиданная ошибка WSL” или “Это приложение не может быть запущено на вашем ПК”. Этот контрольный список разрывает цепочку сбоев до её начала и превращает потенциально мучительный опыт в простой и понятный.
Подробно о системных требованиях
Прежде чем продолжать, убедитесь, что компьютер соответствует официальным системным требованиям Docker Desktop для Windows 11. Актуальные требования таковы :
- Операционная система: Нужна 64-битная версия Windows 11 — Home, Pro, Enterprise или Education. Настоятельно рекомендуется версия 22H2 или новее для лучшей совместимости и производительности.
- Процессор: Система должна иметь 64-битный процессор с поддержкой трансляции адресов второго уровня (SLAT). Почти все современные процессоры, выпущенные за последнее десятилетие, эту функцию поддерживают.
- RAM: Требуется минимум 4 ГБ оперативной памяти. Однако для плавной и отзывчивой работы настоятельно рекомендуется 8 ГБ и больше. И Docker Desktop, и запускаемые им контейнеры расходуют память, поэтому 4 ГБ могут стать серьёзным узким местом при разработке.
Самый важный шаг: включаем аппаратную виртуализацию
Docker on Windows does not run applications natively; it relies on hardware virtualization to run a lightweight Linux kernel through WSL 2. If this feature is disabled in the system’s BIOS/UEFI, Docker Desktop cannot function.
Как проверить, включена ли виртуализация
Быстрая проверка выполняется без перезагрузки системы:
- Нажмите
Ctrl + Shift + Escчтобы открыть диспетчер задач Windows. - Перейдите на вкладку Производительность .
- Выберите CPU в левой панели.
- Справа найдите пункт «Виртуализация» : статус. Если указано Включено, ничего делать не нужно. Если указано Включено, её нужно включить в настройках BIOS/UEFI, прежде чем продолжать.
Как включить виртуализацию в BIOS/UEFI
Чтобы включить виртуализацию, нужно перезагрузить компьютер и войти в настройки его прошивки. Точные шаги у разных производителей отличаются, но общий порядок одинаков.
Современный способ попасть в настройки прошивки UEFI в Windows 11 такой :
- Откройте Настройки , перейдите в Система, а затем выберите Восстановление.
- В разделе “Особые варианты загрузки” нажмите кнопку Перезагрузить сейчас .
- Компьютер перезагрузится в среду восстановления Windows. Там выберите Поиск и устранение неисправностей > Дополнительные параметры > Параметры встроенного ПО UEFI и нажмите Перезагрузить.
Как вариант, можно воспользоваться традиционным способом: нажать определённую клавишу при начальной загрузке. Нужная клавиша зависит от производителя.
В меню BIOS/UEFI параметр виртуализации обычно находится на вкладке “Advanced”, “CPU Configuration” или “Security”. Он может называться Intel Virtualization Technology (VT-x), AMD-V, или SVM Mode. Этот параметр нужно перевести в значение
Включено. После включения обязательно сохраните изменения и выйдите из BIOS/UEFI — компьютер перезагрузится.
В помощь ниже приведена таблица с распространёнными клавишами входа в BIOS/UEFI у основных производителей ПК.
| Производитель | Частые клавиши | |
| Dell | F2, F12 | |
| HP | Esc, F10 | |
| Lenovo | F1, F2, Fn+F2 | |
| ASUS | F2, Del | |
| MSI / Gigabyte | Del | |
| Таблица 1: распространённые клавиши доступа к BIOS/UEFI по производителям, составлено по руководствам пользователя и документации поддержки. |
Основа: установка подсистемы Windows для Linux (WSL 2)
Когда предварительные условия выполнены, следующий шаг — установить основу, на которой будет работать Docker: подсистему Windows для Linux версии 2 (WSL 2). Docker Desktop использует WSL 2 как бэкенд, чтобы запускать Linux-контейнеры прямо в Windows, обеспечивая почти нативную производительность, более быстрый запуск и лучшую интеграцию с файловой системой по сравнению со старым бэкендом Hyper-V.
Установка одной командой
Microsoft свела установку WSL 2 к одной мощной команде.
- Открыть Windows PowerShell или Командную строку с правами администратора: щёлкните её значок в меню «Пуск» правой кнопкой и выберите Запуск от имени администратора.
- Выполните следующую команду : Фрагмент кода
wsl --install
Одна команда автоматизирует несколько шагов, которые раньше приходилось делать вручную. Она включает нужные компоненты “Virtual Machine Platform” и “Windows Subsystem for Linux”, скачивает последнее ядро Linux от Microsoft, задаёт WSL 2 как версию по умолчанию и по умолчанию устанавливает дистрибутив Ubuntu.
Перезагрузка и настройка после установки
После выполнения команды потребуется перезагрузить систему, чтобы завершить установку новых компонентов Windows.После перезагрузки автоматически откроется консольное окно Ubuntu для первичной настройки. Нужно создать имя пользователя UNIX и пароль. Важно: эти учётные данные относятся к среде Linux и полностью отделены от обычной учётной записи Windows.
Главное событие: установка Docker Desktop
Когда WSL 2 установлена, система готова к основной установке Docker Desktop.
Скачиваем правильный установщик
Официальный установщик лучше скачать прямо с сайта Docker — так вы убедитесь в его подлинности и получите последнюю версию.
Важная деталь, которую часто упускают, — архитектура системы. Установщик для стандартных процессоров Intel и AMD называется x86_64 (или AMD64) версия. Форумы полны сообщений пользователей, которые сразу получали ошибку “Это приложение не может быть запущено на вашем ПК”, потому что случайно скачали установщик ARM64, предназначенный для устройств вроде Surface Pro X. Интерфейс страницы загрузки иногда сбивает с толку, поэтому обязательно проверьте, что скачивается правильная версия.
Процесс установки
- Найдите скачанный файл
Docker Desktop Installer.exe. - Дважды щёлкните установщик, чтобы запустить его. Появится запрос прав администратора — они нужны для установки.
- Главный экран настройки предлагает важный выбор. Убедитесь, что отмечен пункт “Use WSL 2 instead of Hyper-V”Это настроит Docker на современный рекомендуемый бэкенд для оптимальной производительности. Пункт о создании ярлыка на рабочем столе — дело вкуса.
Права после установки (группа docker-users )
Права администратора нужны для установки, но не для повседневной работы с Docker. Однако чтобы обычная (не администраторская) учётная запись могла обращаться к демону Docker, её нужно добавить в локальную группу docker-users — группу безопасности, которая создаётся при установке.
Чтобы добавить пользователя в эту группу:
- Откройте Управление компьютером . Её можно найти через поиск в меню «Пуск». Запускать утилиту нужно от имени администратора.
- В левой панели перейдите в Локальные пользователи и группы > Группы.
- Найдите группу docker-users и в контекстном меню выберите Добавить в группу….
- Нажмите на Добавить… , введите имя учётной записи, которой нужен доступ к Docker, и нажмите OK.
- После добавления пользователя обязательно выйдите из Windows и войдите снова. Этот шаг обязателен, чтобы членство в группе вступило в силу; простой перезагрузки не всегда достаточно.
Поехали! Проверка и первый настоящий контейнер
Когда установка и настройка завершены, пора проверить работу и запустить контейнер. Этот раздел подтверждает, что все компоненты взаимодействуют правильно, и даёт наглядный результат.
Рукопожатие в командной строке
Откройте новый терминал PowerShell или командной строки. Если учётная запись добавлена в группу docker-users , этот терминал должен не запускаться от имени администратора — так вы проверите, что права работают правильно.
Сначала проверьте, что Docker CLI связывается с демоном Docker, посмотрев версию:
Фрагмент кода
docker --version
Команда должна вернуть установленную версию Docker, например Docker version 25.0.3, build 4debf41.
Затем выполните команду, чтобы вывести список активных контейнеров:
Фрагмент кода
docker ps
Поскольку контейнеров пока нет, команда должна вернуть пустую таблицу только с заголовками столбцов (CONTAINER ID, IMAGE и т. д.). Успешный пустой ответ подтверждает, что CLI правильно подключён к Docker Engine.
Ритуал “Hello World”
Традиционный первый шаг в мире Docker — запустить образ hello-world . Это окончательная проверка всей системы.
Фрагмент кода
docker run hello-world
Эта команда выполняет несколько действий: она проверяет наличие hello-world образ локально, загружает его из репозитория образов Docker Hub, если он не найден, создаёт из этого образа новый контейнер, запускает контейнер и выводит в терминал подтверждающее сообщение, после чего завершается. При успешном запуске появится сообщение, начинающееся с “Hello from Docker!”
Практика: запускаем веб-сервер Nginx
Хотя hello-world подтверждает работоспособность системы, он не показывает практическое применение. Гораздо интереснее и полезнее первым делом запустить работающий веб-сервер. Это знакомит с ключевыми понятиями вроде проброса портов и отсоединённого режима и даёт интерактивный результат, который закрепляет понимание. Такой подход переводит простую проверку установки в реальную практику.
Чтобы запустить контейнер с веб-сервером Nginx, выполните такую команду:
Фрагмент кода
docker run -d -p 8080:80 --name my-web-server nginx
У каждой части этой команды своя функция:
docker run: основная команда для создания и запуска нового контейнера.-dили--detach: запускает контейнер в фоне и освобождает терминал для других команд.-p 8080:80или--publish 8080:80: пробрасывает порт 8080 на хост-машине (ПК) на порт 80 внутри контейнера. Nginx по умолчанию слушает порт 80, поэтому страница становится доступна из браузера на хосте.--name my-web-server: задаёт контейнеру понятное имя, чтобы им было проще управлять.nginx: указывает официальный образ Nginx, который Docker скачает из Docker Hub.
Чтобы убедиться, что веб-сервер работает, откройте браузер и перейдите по адресу http://localhost:8080. Должна открыться страница “Welcome to nginx!”, подтверждающая, что контейнер работает и доступен.
Для ещё более наглядной демонстрации страницу по умолчанию можно изменить с помощью bind mount. Он связывает каталог на хост-машине напрямую с файловой системой контейнера.
- Сначала остановите и удалите существующий контейнер:
docker stop my-web-serverза которым следуетdocker rm my-web-server. - Создайте на рабочем столе новую папку с именем
my-site. - В этой папке создайте новый текстовый файл с именем
index.html. - Открыть
index.htmlи добавьте такое содержимое:<h1>Привет из моего первого контейнера Docker!</h1>. - Теперь запустите новый контейнер с томом (флаг
-v), чтобы смонтировать локальный каталог. Путь должен быть абсолютным.Фрагмент кодаdocker run -d -p 8080:80 --name my-web-server -v C:\Users\YourUsername\Desktop\my-site:/usr/share/nginx/html nginx(ЗаменитеYourUsernameна фактическое имя пользователя Windows). - Обновите страницу в браузере по адресу
http://localhost:8080. Теперь отобразится собственное сообщение “Hello from my first Docker container!”. Это показывает силу привязки каталогов (bind mounts) для живой разработки.
Ваш набор основных команд Docker
Теперь, когда контейнер запущен, для управления им нужны несколько основных команд. Этот раздел — краткая шпаргалка по самым частым повседневным операциям Docker; она поможет сразу начать работать с новой контейнерной средой.
| Команда | Описание | Пример использования | |
docker ps | Показывает все запущенные контейнеры. | docker ps | |
docker ps -a | Показывает все контейнеры, включая остановленные. | docker ps -a | |
docker stop <name_or_id> | Корректно останавливает работающий контейнер. | docker stop my-web-server | |
docker start <name_or_id> | Запускает ранее остановленный контейнер. | docker start my-web-server | |
docker rm <name_or_id> | Безвозвратно удаляет остановленный контейнер. | docker rm my-web-server | |
docker images | Показывает все образы Docker, сохранённые локально на машине. | docker images | |
docker rmi <image_name> | Удаляет локальный образ (только если его не использует ни один контейнер). | docker rmi nginx | |
docker logs <name_or_id> | Выводит журналы стандартного вывода контейнера. | docker logs my-web-server | |
docker logs -f <name_or_id> | Следит за журналом в реальном времени и выводит новые записи. | docker logs -f my-web-server | |
docker exec -it <name> <cmd> | Выполняет команду внутри работающего контейнера (например, открывает оболочку). | docker exec -it my-web-server bash | |
| Таблица 2: список основных команд Docker для начинающих. |
Устранение неполадок: типичные ошибки установки & работы
Даже при тщательной подготовке возможны проблемы. Этот раздел — аптечка на случай самых частых ошибок установки и работы. Вопросы сформулированы так, как их ищут пользователи по тексту ошибок, поэтому руководство пригодится при диагностике.
Вопрос 1: почему появляется ошибка “Неожиданная ошибка WSL”?
- Симптомы: Docker Desktop не запускается и показывает всплывающее окно с этой ошибкой, в котором часто упоминаются проблемы с правами доступа или предлагается
wsl --shutdownкоманду. - Решения: Эти шаги следует выполнять по порядку.
- Простой сброс: Откройте PowerShell и выполните
wsl --shutdown. Эта команда полностью останавливает виртуальную машину WSL 2. Подождите несколько секунд, а затем попробуйте снова запустить Docker Desktop. Часто это устраняет проблемы с временным состоянием. - Сброс сетевого стека: Если проблема сохраняется, причина может быть в повреждении сетевого стека Windows, который обеспечивает связь с WSL. Откройте PowerShell от имени администратора и выполните
netsh winsock reset. После этой команды требуется перезагрузка системы. - Проверка типа запуска гипервизора: Убедитесь, что гипервизор Windows настроен на автоматический запуск. Откройте PowerShell от имени администратора и выполните
bcdedit /set hypervisorlaunchtype Auto, затем перезагрузите компьютер. - Полный цикл повторного включения: В крайнем случае компоненты виртуализации можно полностью переустановить. В PowerShell от имени администратора выполните следующие команды, чтобы отключить компоненты:
DISM /Online /disable-Feature /FeatureName:VirtualMachinePlatformDISM /Online /disable-Feature /FeatureName:Microsoft-Windows-Subsystem-LinuxПерезагрузите компьютер. Затем откройте ещё один PowerShell от имени администратора и включите их снова:DISM /Online /enable-Feature /FeatureName:Microsoft-Windows-Subsystem-LinuxDISM /Online /enable-Feature /FeatureName:VirtualMachinePlatformПерезагрузите компьютер в последний раз.
- Простой сброс: Откройте PowerShell и выполните
FAQ 2: Docker Desktop не запускается после закрытия или перезагрузки ПК. Что не так?
- Симптомы: После первой установки приложение работало безупречно, но теперь не запускается. Значок Docker может появиться в системном трее и тут же исчезнуть, или не происходит вообще ничего.
- Решение: Часто причина в зависших фоновых процессах, которые завершились некорректно.
- Открыть Диспетчер задач (
Ctrl + Shift + Esc). - Перейдите на вкладку Подробности .
- Отсортируйте по имени и найдите процессы с именами
Docker Desktop.exeили связанные с бэкендом Docker. - Выделите каждый из этих процессов и нажмите Завершить задачу.
- Когда все связанные процессы завершены, попробуйте снова запустить Docker Desktop.
- Открыть Диспетчер задач (
FAQ 3: Установщик выдаёт “Это приложение не может быть запущено на вашем ПК” Как это исправить?
- Симптомы: Этот
Docker Desktop Installer.exeсразу же завершается при запуске с этим типичным сообщением об ошибке Windows. - Решение:
- Основная причина: Самая частая причина этой ошибки — несоответствие архитектуры. Скорее всего, пользователь скачал ARM64 установщик для обычного ПК с процессором Intel или AMD. Вернитесь на официальный сайт Docker и проверьте, что скачиваете x86_64 / AMD64 версию.
- Вторая причина: Если использовался правильный установщик, эта ошибка означает, что не выполнено одно из ключевых системных требований. Вернитесь к разделу 1 этого руководства и проверьте, что аппаратная виртуализация включена в BIOS/UEFI.
Вопрос 4: установка завершилась ошибкой из-за виртуализации или WSL.
- Симптомы: Установщик показывает сообщение об ошибке вроде “WSL 2 installation is incomplete”, “Docker Desktop requires a WSL 2 backend” или другое сообщение, где прямо упоминается виртуализация.
- Решение: Это явный признак того, что какое-то требование пропущено или настроено неправильно.
- Перезагрузитесь, войдите в BIOS/UEFI и убедитесь, что Intel VT-x или AMD-V — это Включено. Это самая частая точка отказа.
- Убедитесь, что компонент Windows “Virtual Machine Platform” включён. Чтобы проверить наверняка, выполните
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestartв PowerShell от имени администратора и перезагрузите компьютер.
FAQ 5: Я получаю ошибки “permission denied” или “daemon is not running” при запуске dockerкоманды.
- Симптомы: В терминале без прав администратора команды вроде
docker psзавершаются ошибкой, сообщающей, что клиент не может подключиться к демону Docker. - Решение: Это классическая проблема с правами доступа.
- Убедитесь, что текущая учётная запись входит в
docker-usersлокальную группу, как описано в разделе 3. - Важно: пользователь должен выйдите из Windows и войдите снова чтобы изменение в членстве в группе применилось к его маркеру безопасности. Простой перезагрузки или закрытия и повторного открытия терминала недостаточно.
- Убедитесь, что текущая учётная запись входит в
Заключение: ваше путешествие в Docker начинается сейчас
Следуя этому руководству, вы успешно подготовили систему Windows 11, установили необходимые компоненты вроде WSL 2, установили и настроили Docker Desktop, проверили всю установку и запустили настоящий контейнер Nginx. Это достижение даёт мощную и стабильную основу для современной разработки.
Когда окружение Docker работает, путь в контейнеризацию действительно начинается. Следующие логичные шаги по расширению этой основы:
- Изучение Docker Compose: Для приложений из нескольких сервисов (например, веб-приложения, базы данных и слоя кэширования) стандартным инструментом является Docker Compose. Он позволяет описать и обслуживать весь стек из нескольких контейнеров в одном файле конфигурации YAML, превращая сложное развёртывание в одну команду.
- Написание Dockerfile: Настоящая сила Docker раскрывается при упаковке собственных приложений. Следующий шаг — научиться писать
Dockerfile, то есть текстовый файл с пошаговыми инструкциями по сборке собственного образа Docker из исходного кода приложения. - Знакомство с Docker Hub: Docker Hub — это огромный публичный реестр, в котором собраны тысячи готовых образов для разных приложений и сервисов. Это бесценный ресурс для поиска официальных образов, а также платформа для обмена собственными образами с сообществом или частной командой.
