«У меня на компьютере работает, а на сервере нет» — классическая проблема, ради решения которой и придумали контейнеры. Docker упаковывает приложение вместе со всем, что ему нужно: версией языка, библиотеками, настройками. Такой «контейнер» одинаково запускается на ноутбуке разработчика, у коллеги и на сервере. На Windows 11 проще всего начать с Docker Desktop — приложения, которое ставит Docker и всё нужное для его работы. Разбираем установку, первые команды, свой Dockerfile и docker compose.
- Как это устроено: образ, контейнер, WSL 2
- Системные требования
- Бесплатно ли это: лицензия Docker Desktop
- Установка Docker Desktop
- Первый контейнер: hello-world
- Запускаем веб-сервер nginx
- Свой образ: простой Dockerfile
- Docker Compose: несколько сервисов одной командой
- Частые проблемы
- Альтернативы Docker Desktop
- Краткий чек-лист
Как это устроено: образ, контейнер, WSL 2
Несколько понятий, без которых дальше будет сложно:
- Образ (image) — шаблон: «снимок» системы с программой внутри. Образы скачиваются из реестра Docker Hub (например,
nginx,postgres,python) или собираются вами из Dockerfile. - Контейнер — запущенный экземпляр образа. Из одного образа можно запустить сколько угодно контейнеров.
- Docker Engine — служба, которая скачивает образы и запускает контейнеры. Большинство образов рассчитаны на Linux, поэтому на Windows движок работает внутри лёгкой виртуальной машины 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
- Убедитесь, что WSL 2 установлен и обновлён: в PowerShell выполните
wsl --update. - Скачайте Docker Desktop Installer.exe с официального сайта docker.com (раздел Docker Desktop → Download for Windows). Выбирайте сборку под свой процессор: большинству нужна версия для x86_64 (AMD64), для ноутбуков на ARM — отдельная.
- Запустите установщик. По документации Docker по умолчанию предлагается установка для текущего пользователя (без прав администратора); вариант «для всех пользователей» потребует повышения прав. Если в вашей версии установщика вариант выбора не показан, просто следуйте шагам мастера.
- На странице настроек оставьте отмеченным пункт Use WSL 2 instead of Hyper-V (использовать WSL 2 вместо Hyper-V).
- Дождитесь окончания установки, нажмите Close. Если установщик попросит перезагрузку — перезагрузитесь.
- Запустите 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! с пояснением, что установка работает. После вывода текста контейнер завершается — так и задумано.

Запускаем веб-сервер 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 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








