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

штабеля грузовых контейнеров в порту Программирование

«У меня на компьютере работает, а на сервере нет» — классическая проблема, ради решения которой и придумали контейнеры. Docker упаковывает приложение вместе со всем, что ему нужно: версией языка, библиотеками, настройками. Такой «контейнер» одинаково запускается на ноутбуке разработчика, у коллеги и на сервере. На Windows 11 проще всего начать с Docker Desktop — приложения, которое ставит Docker и всё нужное для его работы. Разбираем установку, первые команды, свой Dockerfile и docker compose.

Как это устроено: образ, контейнер, WSL 2

Несколько понятий, без которых дальше будет сложно:

  • Образ (image) — шаблон: «снимок» системы с программой внутри. Образы скачиваются из реестра Docker Hub (например, nginx, postgres, python) или собираются вами из Dockerfile.
  • Контейнер — запущенный экземпляр образа. Из одного образа можно запустить сколько угодно контейнеров.
  • Docker Engine — служба, которая скачивает образы и запускает контейнеры. Большинство образов рассчитаны на Linux, поэтому на Windows движок работает внутри лёгкой виртуальной машины WSL 2.

схема работы Docker Desktop в Windows 11 через WSL 2

Вы вводите команды docker в обычном терминале Windows, а выполняются они в Linux-окружении WSL 2. Поэтому сначала стоит разобраться с WSL — у нас есть отдельная инструкция «Как установить WSL и Ubuntu в Windows 11». Ставить Ubuntu для Docker Desktop не обязательно: ему нужен сам WSL 2.

Системные требования

По документации Docker (docs.docker.com, раздел установки на Windows, на октябрь 2026 года) для варианта с WSL 2 нужны:

  • Windows 11 64-bit версии 23H2 (сборка 22631) или новее. В списке требований перечислены редакции Pro, Enterprise и Education. Про Home в той же документации сказано лишь, что редакции Home и Education могут запускать только Linux-контейнеры; если у вас Windows 11 Home, перед установкой сверьтесь с актуальной страницей требований.
  • WSL версии 2.1.5 или новее (обновить: wsl --update).
  • 8 ГБ оперативной памяти.
  • 64-битный процессор с поддержкой SLAT и включённая аппаратная виртуализация в BIOS/UEFI.
  • Включённая служба Windows «Сервер» (LanmanServer) с автоматическим запуском — обычно так и есть по умолчанию.

Windows-контейнеры (для приложений под Windows, а не Linux) — отдельный режим, он доступен только в Pro и Enterprise. Новичку он, как правило, не нужен.

Бесплатно ли это: лицензия Docker Desktop

Docker Desktop бесплатен не для всех. Согласно условиям на сайте Docker (на октябрь 2026 года), бесплатное использование разрешено:

  • для личных целей и обучения;
  • для некоммерческих open source проектов;
  • для малого бизнеса — компаний, где меньше 250 сотрудников и годовой доход меньше 10 млн долларов (оба условия одновременно).

Крупным компаниям и государственным организациям для коммерческого использования нужна платная подписка (Pro, Team или Business). Если вы ставите Docker Desktop на рабочий компьютер, уточните у администратора, есть ли у компании лицензия. Сам Docker Engine и CLI в Linux распространяются как open source — условия подписки относятся именно к приложению Docker Desktop.

Установка Docker Desktop

  1. Убедитесь, что WSL 2 установлен и обновлён: в PowerShell выполните wsl --update.
  2. Скачайте Docker Desktop Installer.exe с официального сайта docker.com (раздел Docker Desktop → Download for Windows). Выбирайте сборку под свой процессор: большинству нужна версия для x86_64 (AMD64), для ноутбуков на ARM — отдельная.
  3. Запустите установщик. По документации Docker по умолчанию предлагается установка для текущего пользователя (без прав администратора); вариант «для всех пользователей» потребует повышения прав. Если в вашей версии установщика вариант выбора не показан, просто следуйте шагам мастера.
  4. На странице настроек оставьте отмеченным пункт Use WSL 2 instead of Hyper-V (использовать WSL 2 вместо Hyper-V).
  5. Дождитесь окончания установки, нажмите Close. Если установщик попросит перезагрузку — перезагрузитесь.
  6. Запустите Docker Desktop через «Пуск» и примите условия подписки (Subscription Service Agreement). Вход в аккаунт Docker не обязателен для локальной работы, его можно пропустить.

Альтернатива для любителей командной строки — установка через менеджер пакетов winget:

winget install -e --id Docker.DockerDesktop

Когда значок кита в трее перестанет «анимироваться» и в окне Docker Desktop появится статус Engine running, всё готово. Проверьте версию в PowerShell:

docker --version
docker compose version

Первый контейнер: hello-world

Классическая проверка установки:

docker run hello-world

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

запуск hello-world и nginx в Docker в терминале Windows

Запускаем веб-сервер nginx

Теперь что-то полезнее — веб-сервер, который работает в фоне:

docker run -d -p 8080:80 --name web nginx

Разберём параметры:

  • -d — запустить в фоне (detached), терминал освободится сразу;
  • -p 8080:80 — пробросить порт: 8080 на вашем компьютере → 80 внутри контейнера;
  • --name web — понятное имя вместо случайного;
  • nginx — имя образа.

Откройте в браузере http://localhost:8080 — появится страница «Welcome to nginx!». Посмотреть работающие контейнеры:

docker ps

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

docker stop web
docker rm web

Всё то же самое можно делать и мышкой во вкладке Containers окна Docker Desktop: там видны логи, порты, кнопки запуска и остановки.

Свой образ: простой Dockerfile

Создадим образ с собственной страницей. Сделайте папку, например C:\Projects\docker-hello, и положите в неё два файла.

index.html:

<h1>Привет из Docker!</h1>

Dockerfile (без расширения):

FROM nginx:alpine
COPY index.html /usr/share/nginx/html/index.html

Первая строка берёт за основу облегчённый образ nginx, вторая копирует вашу страницу туда, откуда nginx отдаёт файлы. Соберите образ и запустите контейнер:

cd C:\Projects\docker-hello
docker build -t my-hello .
docker run -d -p 8080:80 --name hello my-hello

Точка в конце docker build обязательна — это папка, из которой берутся файлы. Откройте http://localhost:8080 — увидите свою страницу. Dockerfile и index.html удобно хранить в Git вместе с проектом — основы есть в статье «Как работать с Git для начинающих».

Docker Compose: несколько сервисов одной командой

Когда контейнеров становится больше (сайт, база данных, кэш), запускать каждый вручную неудобно. Для этого есть Docker Compose — он входит в Docker Desktop и вызывается командой docker compose (через пробел). Сервисы описываются в файле compose.yaml в папке проекта:

services:
  web:
    build: .
    ports:
      - "8080:80"

Запуск и остановка всех сервисов:

docker compose up -d
docker compose down

В реальных проектах в этот же файл добавляют базу данных, переменные окружения и тома (volumes) для хранения данных между перезапусками.

шпаргалка основных команд Docker

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

  • «Docker Desktop is starting…» не заканчивается или ошибка про WSL. Обновите WSL (wsl --update), перезапустите его (wsl --shutdown) и запустите Docker Desktop снова. Проверьте, что виртуализация включена в BIOS.
  • Команда docker не найдена. Закройте и заново откройте терминал после установки — переменные окружения подхватываются только в новых окнах. Проверьте, что Docker Desktop запущен.
  • Порт уже занят («port is already allocated»). На этом порту работает другая программа или другой контейнер. Остановите его или выберите другой порт: -p 8081:80.
  • Закончилось место на диске. Образы и остановленные контейнеры копятся. Посмотреть, сколько занято: docker system df. Удалить неиспользуемые данные: docker system prune — команда спросит подтверждение; прочитайте, что именно она удалит, прежде чем соглашаться.
  • Компьютер тормозит. Виртуальная машина WSL 2 забирает память. Закрывайте ненужные контейнеры; при необходимости ограничьте ресурсы WSL в файле настроек .wslconfig в папке пользователя (подробности — в документации Microsoft по настройке WSL).

Альтернативы Docker Desktop

Если условия лицензии не подходят или нужен другой подход, посмотрите на Podman Desktop и Rancher Desktop — это открытые приложения для работы с контейнерами на Windows, тоже использующие WSL 2. Ещё один вариант — поставить Docker Engine прямо в Ubuntu внутри WSL по инструкции для Linux. Синтаксис основных команд у них похож, но детали установки и настройки отличаются — сверяйтесь с документацией выбранного инструмента.

Краткий чек-лист

  • Windows 11 23H2+, виртуализация включена, WSL обновлён (wsl --update).
  • Проверили, подходит ли вам бесплатная лицензия Docker Desktop.
  • Установили Docker Desktop с опцией WSL 2, запустили, приняли условия.
  • docker run hello-world выводит Hello from Docker!
  • Запустили nginx на localhost:8080, собрали свой образ из Dockerfile.
  • Для нескольких сервисов используете compose.yaml и docker compose up -d.

Требования, условия лицензии и шаги установки приведены по документации Docker (docs.docker.com) на октябрь 2026 года. Docker Desktop обновляется часто, поэтому названия кнопок и экранов установщика могут немного отличаться.

Фото на обложке: AgainErick, CC BY-SA 4.0, Wikimedia Commons

Оцените статью
Компьютер для начинающих
Добавить комментарий