Гид по технологиям

Docker на Windows 10 и 11: установка, WSL 2 и лучшие практики

8 min read DevOps Обновлено 28 Mar 2026
Docker на Windows 10 и 11 — установка и лучшие практики
Docker на Windows 10 и 11 — установка и лучшие практики

Docker упрощает разработку и деплой кроссплатформенных приложений на Windows 10 и 11. Для наилучшей производительности используйте Docker Desktop вместе с WSL 2 — это ускоряет контейнеры и снижает расход ресурсов. В статье шаг за шагом показано, как включить WSL 2, установить Docker Desktop и настроить интеграцию, а также приведены практические советы по безопасности, тестированию и миграции.

Макет MacBook с запущенным Docker

Windows удобна для повседневных задач, но при разработке и развёртывании приложений часто удобнее работать с контейнерами. Платформы контейнеризации, такие как Docker, упрощают разработку, упаковку и масштабирование приложений. Ниже — подробное руководство по Docker на Windows 10 и 11, включая использование Docker Desktop и WSL 2.

Что такое Docker?

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

Ключевая идея: контейнер виртуализует операционную систему, а не оборудование, поэтому контейнеры легче и стартуют быстрее по сравнению с виртуальными машинами.

Docker работает на движке Docker Engine — лёгком слое, который управляет образами и контейнерами. В инфраструктуре DevOps Docker часто сочетают с системами оркестрации, например Kubernetes, чтобы управлять множеством контейнеров в продакшене.

Грузовое судно, загруженное сотнями контейнеров разного цвета

Пример для понимания: веб-приложение с фронтендом, бэкендом и базой данных можно упаковать в три отдельных контейнера. Каждый контейнер включает нужные зависимости, поэтому вы можете масштабировать только бэкенд, не трогая базу и фронт.

Почему стоит использовать Docker?

Круговая диаграмма CI/CD — сборка, планирование, интеграция

Основные преимущества Docker:

  • Повторяемость окружения: одна и та же Docker image запускается одинаково в development, staging и production.
  • Лёгковесность: контейнеры требуют меньше ресурсов, чем полноценные виртуальные машины.
  • Портируемость: образы можно хранить в Docker Hub и запускать где угодно.
  • Упрощение CI/CD: образы легко строить и деплоить в пайплайнах.

Частые случаи использования:

  • Быстрый запуск Linux-дистрибутивов для разработки.
  • Локальный web-сервер для тестов (nginx в контейнере).
  • Упаковка приложения в единый образ для деплоя.
  • Интеграция в CI/CD: сборка и тесты в контейнере.

Если вам интересен конкретный кейс — запуск Ubuntu в контейнере — найдёте много примеров и образов на Docker Hub.

Что такое Windows Subsystem for Linux (WSL)?

Логотипы Windows и Linux (Tux) рядом

WSL позволяет запускать полноценные Linux-дистрибутивы (Ubuntu, Debian, Kali и др.) непосредственно в Windows без полноценной виртуальной машины или dual-boot. WSL 2 — вторая версия подсистемы — использует лёгкий виртуализированный Linux-ядро и обеспечивает лучшую производительность I/O и совместимость с Linux-инструментами.

Разработчики используют WSL для удобной работы с Linux-командной строкой, пакетными менеджерами и утилитами, оставаясь в Windows-экосистеме.

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

Всплывающее окно Docker Engine, запущено

Docker Desktop — удобное приложение с GUI для Windows, которое включает Docker Engine, Docker CLI и интеграцию с WSL 2. Его проще всего установить через графический установщик.

Порядок установки Docker Desktop:

  1. Скачайте Docker Desktop для Windows с официального сайта Docker.
  2. Откройте скачанный установщик (обычно файл в папке «Загрузки»).
  3. При необходимости подтвердите запрос контроля учётных записей (Run as administrator).
  4. Следуйте мастеру установки и примите стандартные параметры, если не требуется кастомизация.
  5. Перезагрузите компьютер, если установщик попросит.

После установки можно проверить работу, скачав любой публичный образ из Docker Hub и запустив контейнер.

Как включить WSL 2 на Windows

Перед установкой Docker с бэкендом WSL 2 нужно включить сам WSL 2.

Требования: Windows 10 Build 19041 и выше или Windows 11.

Шаги для установки WSL 2 с дистрибутивом Ubuntu:

  1. Откройте меню «Пуск», найдите «Командная строка», щёлкните правой кнопкой по результату и выберите «Запуск от имени администратора».
  2. Выполните команду:
wsl --install
  1. Дождитесь завершения установки — система сама скачает и установит дистрибутив по умолчанию (обычно Ubuntu).
  2. При необходимости перезагрузите систему.

Если хотите установить конкретный дистрибутив, используйте:

wsl --install -d 

Просмотреть список доступных дистрибутивов можно так:

wsl.exe -l -o

После успешной настройки WSL 2 вы сможете запускать Linux-терминал и команды из Windows.

Как установить Docker с бэкендом WSL 2 на Windows

Интеграция Docker Desktop с WSL 2 даёт лучшие показатели по времени старта, использованию памяти и совместимости с Linux-инструментами. Рекомендуемый порядок действий:

  1. Скачайте Docker Desktop для Windows.
  2. Установите и включите WSL 2 по инструкциям выше.
  3. Перезагрузите систему, если требуется.
  4. Запустите Docker Desktop через меню «Пуск», откройте Settings > General.

Настройки Docker — General

  1. Убедитесь, что опция Use the WSL 2 based engine включена.
  2. Нажмите Apply & Restart, чтобы перезапустить Docker с новым бэкендом.
  3. Откройте WSL (например, Ubuntu) и проверьте, что Docker доступен:
docker --version

Если команда возвращает версию Docker, установка завершена.

Важно: при первом запуске Docker Desktop он может попросить включить дополнительные компоненты Windows (например, виртуализацию). Проверьте, что в BIOS включена поддержка виртуализации (Intel VT-x / AMD-V).

Когда Docker может не подойти

Хотя Docker удобен, есть сценарии, где он не лучший выбор:

  • Приложения, требующие прямого доступа к специализированному оборудованию (GPU/спец. устройства) — Docker поддерживает это с ограничениями и требует дополнительной настройки.
  • Полноценные GUI-приложения без адаптации — запуск GUI в контейнере возможен, но сложнее настроить.
  • Высокая изоляция на уровне ядра — если требуется сильная аппаратная виртуализация и полный контроль над ОС, виртуальная машина предпочтительнее.

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

  • Podman — демонless контейнерный движок, совместимый с OCI-образами.
  • LXC/LXD — контейнеры уровня системы, ближе к VM по функциональности.
  • Vagrant + VirtualBox/Hyper-V — для полного виртуального окружения.
  • Kubernetes (как оркестратор) поверх Docker или контейнерного рантайма.

Модель мышления: как думать о контейнерах

Пара простых эвристик:

  • Один процесс — один контейнер: держите контейнеры малыми и специализированными.
  • Образ = контракт: образ должен содержать всё, что нужно для запуска сервиса.
  • Стейт отдельно: храните данные вне контейнера (volumes, managed services).

Чеклисты по ролям

Разработчик

  • Локально запустить контейнеры через docker-compose.
  • Проверить, что конфигурации берутся из .env.
  • Собрать Docker image и запустить тесты внутри контейнера.

Операции (DevOps)

  • Настроить CI/CD для сборки и сканирования образов.
  • Настроить реестр (Docker Hub, private registry).
  • Настроить мониторинг и логирование контейнеров.

QA

  • Запуск интеграционных тестов в контейнерном окружении.
  • Обеспечить чистую среду теста (создавать и удалять контейнеры между прогоном).

Мини-методология: от кода до продакшена

  1. Dockerfile: описать сборку образа и мультистейдж при необходимости.
  2. CI: собрать и пронять образ, запустить unit/integration тесты.
  3. Реестр: запушить образ в приватный/публичный реестр.
  4. Оркестрация: деплой через Docker Compose (dev) или Kubernetes (prod).
  5. Мониторинг: метрики, алерты, логирование.

Безопасность и жёсткие практики

  • Минимизируйте базовый образ: используйте slim/distroless.
  • Не храните секреты в образах: используйте секрет-менеджер или переменные окружения в оркестраторе.
  • Сканируйте образы на уязвимости перед пушем в реестр.
  • Запускайте контейнеры с минимальными привилегиями (не root, политики seccomp/selinux где возможно).

Критерии приёмки и тестовые сценарии

Критерии приёмки для сервиса в контейнере:

  • Контейнер успешно собирается из Dockerfile без ошибок.
  • Контейнер стартует в пределах ожидаемого времени (например, <10s для dev).
  • Все юнит и интеграционные тесты проходят внутри контейнера.
  • Логирование и метрики доступны и отправляются в систему мониторинга.

Примеры тестов:

  • smoke-test: контейнер стартует и отвечает на /health.
  • нагрузочный тест: сервис выдерживает ожидаемую нагрузку на тестовом окружении.
  • тест устойчивости: перезапуск контейнера не приводит к потере корректности работы.

Миграция и совместимость

Если вы переводите существующую систему на Docker:

  • Начните с упаковки одного сервиса в контейнер и тестирования в dev-среде.
  • Перенесите конфигурацию и данные в volumes или управляемые сервисы (RDS, S3 и т.д.).
  • Настройте CI/CD для автоматической сборки и деплоя.
  • Тестируйте поэтапно: staging перед production.

Советы по Windows-специфике:

  • Для сетевых особенностей Windows + WSL 2 учитывайте разницу в IP-адресации между Windows и WSL.
  • Используйте совместимые файловые системы: интенсивные операции I/O лучше выполнять внутри WSL, а не на смонтированных Windows-дисках, чтобы избежать медленного доступа.

Примеры команд (полезные сниппеты)

Построить образ из Dockerfile:

docker build -t myapp:latest .

Запустить контейнер в интерактивном режиме:

docker run --rm -it -p 8080:8080 myapp:latest

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

docker ps

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

docker stop $(docker ps -aq) && docker rm $(docker ps -aq)

Совместимость и рекомендации для Windows

  • Используйте WSL 2 как основной рабочий процесс с Docker Desktop для лучшей производительности.
  • Помните о различиях в поведении файловой системы между Windows и Linux: монтирование папок с Windows в контейнеры может быть медленнее.
  • Для CI на Windows-агентах по возможности билдьте образы в Linux-окружении (например, в GitHub Actions Ubuntu runners) для предсказуемости.

1‑строчный глоссарий

  • Образ (image): скомпилированное состояние приложения и зависимостей.
  • Контейнер: запущенный экземпляр образа (runtime).
  • Dockerfile: рецепт сборки образа.
  • WSL 2: подсистема Windows для запуска Linux с виртуальным Linux-ядром.

Заключение

Docker значительно упрощает разработку и деплой приложений на Windows 10 и 11, особенно при использовании WSL 2 в качестве бэкенда. Начните с установки Docker Desktop и WSL 2, упакуйте одно приложение в контейнер и постепенно переносите остальные сервисы. Не забывайте о безопасности образов, тестировании и мониторинге.

Важно: выбирайте инструмент под задачу. Docker отлично подходит для микросервисов и CI/CD, но для некоторых сценариев потребуется полнофункциональная виртуализация или специализированные решения.

Короткий план первых шагов:

  1. Включите WSL 2 и установите Ubuntu.
  2. Установите Docker Desktop и включите WSL 2 engine.
  3. Постройте и запустите простой образ.
  4. Внедрите минимальные практики безопасности и добавьте контейнер в CI.

Архитектура микросервисов — схема с сервисами и связями

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро