Docker Desktop на Windows: установка и настройка

docker desktop на windows: установка и

Docker Desktop на Windows устанавливается через официальный инсталлятор с docker.com, требует включённую виртуализацию в BIOS и подсистему WSL 2, после чего вы получаете полноценную среду для запуска контейнеров прямо на своей рабочей машине без отдельного Linux-сервера.

Что вообще такое Docker и зачем он на винде

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

Зачем это разработчику на Windows? Три причины.

Первая: вы разрабатываете приложение, которое будет работать на Linux-сервере. Вместо того чтобы каждый раз заливать код на сервер и тестировать там, вы запускаете контейнер локально. Точно такой же Linux, точно такие же настройки. Работает у меня на компе — будет работать на сервере.

Вторая: вам нужно быстро поднять базу данных, Redis, Elasticsearch, Kafka для разработки. Без Docker вы бы устанавливали всё это на свою винду, загаживали систему, боролись с конфликтами версий. С Docker — одна команда, и PostgreSQL 16 запущен. Другая команда — и он удалён бесследно.

Третья: DevOps. CI/CD пайплайны, Kubernetes, микросервисы. Без Docker в 2026 году никуда (ну, почти).

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

Не на каждом компе Docker заведётся. Вот что нужно:

  • Windows 10 версии 21H2 или Windows 11 (Home, Pro, Enterprise)
  • Процессор с поддержкой виртуализации (Intel VT-x или AMD-V)
  • Минимум 4 ГБ оперативки (реально нужно 8+, лучше 16)
  • WSL 2 (подсистема Windows для Linux)
  • Около 2 ГБ свободного места на диске (плюс место для образов)

Мой товарищ Артём на своём Dell Inspiron 15 с 8 ГБ оперативки и i5-1135G7 запускает Docker без проблем. Три-четыре контейнера крутятся одновременно. Но когда он пробовал запустить полноценный стек из 12 микросервисов, компьютер начал задыхаться. 16 ГБ — вот реальный минимум для серьёзной работы.

Включаем виртуализацию в BIOS

Первый шаг — убедиться, что виртуализация включена в BIOS. Без неё Docker не запустится.

Как проверить: откройте Диспетчер задач (Ctrl+Shift+Esc), вкладка «Производительность», «ЦП». Внизу справа должно быть «Виртуализация: Включено».

Если выключено:

  1. Перезагрузите компьютер и зайдите в BIOS (обычно Del, F2 или F10 при загрузке)
  2. Найдите раздел Advanced или CPU Configuration
  3. Включите Intel Virtualization Technology (VT-x) или AMD SVM Mode
  4. Сохраните и перезагрузитесь

У каждого производителя материнской платы BIOS выглядит по-разному. Если не можете найти нужный пункт, загуглите «включить виртуализацию [модель материнки]».

Устанавливаем WSL 2

Docker Desktop на Windows работает через WSL 2 (Windows Subsystem for Linux). Это не опция, это необходимость.

Откройте PowerShell от имени администратора:

# Устанавливаем WSL с дистрибутивом Ubuntu по умолчанию
wsl --install

# После перезагрузки проверяем версию
wsl --version

# Убеждаемся что WSL 2 используется по умолчанию
wsl --set-default-version 2

После установки WSL попросит создать пользователя Linux. Придумайте логин и пароль. Этот пароль вам понадобится для sudo-команд внутри Linux.

Кстати, если WSL уже установлен, но версия 1, обновите:

# Обновляем ядро WSL
wsl --update

# Переключаем дистрибутив на WSL 2
wsl --set-version Ubuntu 2

Установка Docker Desktop

Теперь самое простое.

  1. Идёте на docker.com/products/docker-desktop
  2. Скачиваете «Docker Desktop for Windows»
  3. Запускаете инсталлятор
  4. Оставляете галочку «Use WSL 2 instead of Hyper-V» (если предложит выбор)
  5. Ждёте окончания установки
  6. Перезагружаете компьютер

После перезагрузки Docker Desktop запустится автоматически. В трее появится иконка кита. Зелёный кит — Docker работает. Оранжевый — запускается. Красный — что-то сломалось.

Проверяем в терминале:

# Версия Docker
docker --version

# Запускаем тестовый контейнер
docker run hello-world

Если увидели «Hello from Docker!» — всё работает. Поздравляю.

Настройка Docker Desktop: что поменять сразу

По умолчанию Docker Desktop жрёт ресурсы как не в себя. Нужно настроить.

Откройте Docker Desktop, шестерёнка (Settings):

Resources — WSL Integration:

  • Включите интеграцию с вашим дистрибутивом WSL (Ubuntu или какой у вас)
  • Это позволит использовать docker команды напрямую из Linux-терминала

Resources — Advanced:

  • Memory: поставьте 4-6 ГБ (если у вас 16 ГБ общей памяти). Не давайте Docker больше половины оперативки
  • CPUs: 2-4 ядра достаточно для разработки
  • Disk image size: увеличьте если планируете много образов (100+ ГБ для серьёзной работы)

General:

  • «Start Docker Desktop when you sign in» — выключите если не используете Docker каждый день. Экономит ресурсы при загрузке

Грубо говоря, Docker Desktop в фоне кушает 1-2 ГБ оперативки даже без запущенных контейнеров. На машине с 8 ГБ это ощутимо.

Первые контейнеры: практические примеры

Теория — ладно. Давайте запустим что-нибудь полезное.

Веб-сервер Nginx:

# Запускаем Nginx на порту 8080
docker run -d --name my-nginx -p 8080:80 nginx

# Открываем http://localhost:8080 в браузере
# Видим страницу Welcome to nginx!

PostgreSQL база данных:

# Запускаем PostgreSQL 16 с паролем для разработки
docker run -d --name my-postgres -e POSTGRES_PASSWORD=devpassword -p 5432:5432 postgres:16

# Подключаемся к базе (нужен psql или pgAdmin)
# Хост: localhost, Порт: 5432, Пользователь: postgres

А ещё есть Docker Compose — для запуска нескольких контейнеров одним файлом. Создаёте docker-compose.yml:

# docker-compose.yml для веб-приложения с базой данных
services:
  web:
    image: nginx
    ports:
      - "8080:80"
  db:
    image: postgres:16
    environment:
      POSTGRES_PASSWORD: devpassword
    ports:
      - "5432:5432"

Запуск одной командой:

# Поднимаем все сервисы из файла
docker compose up -d

# Останавливаем и удаляем
docker compose down

Частые проблемы и решения

«Docker Desktop requires a newer WSL kernel version» — обновите WSL:

wsl --update

«Hardware assisted virtualization and data execution protection must be enabled» — включите виртуализацию в BIOS (описано выше).

«Docker Desktop stopped» после запуска. Попробуйте:

# Перезапускаем сервис WSL
wsl --shutdown
# Запускаем Docker Desktop снова

Контейнеры работают медленно? Файловая система WSL 2 медленнее при доступе к файлам на диске Windows (/mnt/c/). Храните проекты внутри файловой системы Linux (~/projects/) для максимальной скорости. Разница колоссальная.

Тут такое дело: на рабочих машинах с Windows Pro и Enterprise Docker может использовать Hyper-V вместо WSL 2. Hyper-V стабильнее, но потребляет больше ресурсов. Для большинства разработчиков WSL 2 — лучший выбор.

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

Важный вопрос. Docker Desktop бесплатен для личного использования, образования и небольших компаний (до 250 сотрудников и до 10 миллионов долларов годового дохода). Для крупных компаний нужна подписка Docker Business.

Если вы фрилансер или работаете в маленькой команде — пользуйтесь бесплатно. Если крупная контора — купите подписку или используйте альтернативы (Podman, Rancher Desktop).

Ну и лицензионная Windows тут не просто формальность. Docker Desktop проверяет целостность системных компонентов, и на пиратских сборках бывают странные глюки с WSL 2 и Hyper-V. Нормальный ключик для Windows 11 Pro можно взять в keytrust24.store — там моментальная доставка, и активация занимает пару минут.

Полезные команды на каждый день

# Список запущенных контейнеров
docker ps

# Все контейнеры включая остановленные
docker ps -a

# Остановить контейнер
docker stop имя_контейнера

# Удалить контейнер
docker rm имя_контейнера

# Список скачанных образов
docker images

# Удалить образ
docker rmi имя_образа

# Зайти внутрь контейнера в терминал
docker exec -it имя_контейнера bash

# Посмотреть логи контейнера
docker logs имя_контейнера

# Очистить всё неиспользуемое (образы, контейнеры, сети)
docker system prune -a

Последняя команда освобождает кучу места. У меня однажды Docker занимал 40 ГБ старыми образами. После prune осталось 5 ГБ. Магия.

Что дальше

Docker установлен. Контейнеры запускаются. Что учить дальше? Dockerfile (создание своих образов), Docker Compose (оркестрация нескольких контейнеров), Docker volumes (постоянное хранение данных), Docker networks (сети между контейнерами). А потом Kubernetes, но это уже совсем другая история.

Безопасность контейнеров: о чём стоит помнить

Docker — мощный инструмент, но безопасность никто не отменял.

Не запускайте контейнеры от root без необходимости. Используйте официальные образы с Docker Hub (они помечены синей галочкой «Docker Official Image»). Регулярно обновляйте образы — старые версии могут содержать уязвимости.

Кстати, мой товарищ Николай, бэкенд-разработчик на Dell XPS 15 с i7-12700H, однажды скачал образ PostgreSQL от неизвестного автора, и тот втихую отправлял данные на внешний сервер. С тех пор он использует только официальные образы и проверяет Dockerfile перед запуском. Тут такое дело: в Docker Hub миллионы образов, и не все они безопасны.

Работает? Ещё как работает.