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

Полное руководство по установке и запуску Docker с серверной частью Hyper-V или WSL на ПК с Windows 10.

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

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

В этой статье давайте посмотрим, как установить Docker и включить Hyper-V и WSL для запуска контейнеров в Windows 10.

Предпосылки

Вам потребуется 64-разрядная версия Windows 10 Pro, Enterprise или Education с обновлением 1703 или новее (сборка 15063 или новее) для использования серверной части Hyper-V или 64-разрядная версия Windows 10 с обновлением 2004 года или новее (сборка 19041 или новее) для серверной части WSL. . Помимо этого, требуется современный 64-разрядный процессор с поддержкой виртуализации и минимум 4 ГБ оперативной памяти.

Помимо вышеперечисленных требований, вам необходимо включить поддержку виртуализации в BIOS. Чтобы проверить, включена ли уже виртуализация, откройте диспетчер задач и перейдите на вкладку «Производительность».

Если виртуализация отображается как «Отключена», вам необходимо включить ее в настройках BIOS. В зависимости от материнской платы и процессора шаги для включения виртуализации различаются.

Для процессоров Intel включите параметр, называемый Intel Virtualization Technology (VT-x) в BIOS. Точно так же для процессоров AMD включите параметр, называемый режимом SVM в BIOS. Обратитесь к руководству по материнской плате, чтобы найти соответствующие настройки для вашего процессора.

Установить Docker через Winget

Docker доступен в репозитории Winget, поэтому его можно установить с помощью простой команды. Если у вас нет крылышко инструмент установлен и хотите узнать о нем больше, а затем ознакомьтесь с нашим руководством по установке диспетчера пакетов Winget.

Мы установим стабильную версию Docker, доступную в репозиториях Winget. Откройте PowerShell или CMD и выполните следующую команду, чтобы установить его.

winget install -e --id Docker.DockerDesktop

Запрос UAC запросит разрешение на внесение изменений, нажмите «Да», чтобы продолжить установку Docker Desktop. Скоро в вашей системе будет установлен Docker.

Но мы пока не можем запустить Docker, перед этим нам нужно включить Hyper-V или WSL для Windows 10, иначе Docker выдаст ошибку и не запустится. Мы обсудим это позже в руководстве.

Загрузите и установите Docker вручную

Если вы хотите установить Docker вручную, перейдите на страницу загрузок Docker Desktop и нажмите кнопку «Загрузить для Windows (стабильная)», чтобы загрузить файл установщика.

Затем перейдите в папку загрузок и дважды щелкните установочный файл «Docker Desktop Installer», чтобы начать процесс установки.

В процессе установки вам будет представлено окно конфигурации. Установите флажок «Включить WSL 2 Windows Features», если вы используете Windows 10 Home edition или хотите использовать серверную часть Docker WSL 2, и отметьте «Добавить ярлык на рабочий стол», если вам нужен ярлык на рабочем столе Docker, затем нажмите «ОК», чтобы начать установку.

После того, как установка Docker Desktop завершит распаковку и установку файлов, нажмите кнопку «Закрыть и перезапустить», чтобы завершить процесс установки докера.

Включить Hyper-V или WSL?

Теперь осталось только включить Hyper-V или WSL в зависимости от выпуска и версии Windows 10.

  • Выпуск Windows 10 Pro, Enterprise и Education с 1703 обновить или позже: если вы не на 2004 update или более поздней версии, можно использовать только серверную часть Hyper-V.
  • Windows 10 Домашняя версия с 2004 update или более поздней версии: можно включить только WSL, поскольку функция Hyper-V недоступна в домашней версии.
  • Выпуск Windows 10 Pro, Enterprise и Education с 2004 update или новее: как Hyper-V, так и WSL можно включить и использовать с докером.

Включить Hyper-V

Hyper-V - это собственный гипервизор для Windows 10, который можно использовать для создания и запуска виртуальных машин. Hyper-V находится на пути к тому, чтобы стать унаследованным вариантом для запуска контейнеров в Windows 10, поскольку docker планирует использовать WSL в качестве основной серверной части для запуска контейнеров.

Но вам все равно понадобится Hyper-V, если вы хотите запускать собственные контейнеры Windows для Docker. Таким образом, чтобы включить Hyper-V, откройте PowerShell от имени администратора и выполните следующую команду:

Enable-WindowsOptionalFeature -Online -FeatureName $ («Microsoft-Hyper-V», «Контейнеры») -Все

PowerShell предложит перезагрузить компьютер для завершения установки Hyper-V, введите Y и нажмите Enter, чтобы сделать то же самое. После перезагрузки компьютера вы можете запустить Docker Desktop и использовать контейнеры.

Включить WSL

Подсистема Windows для Linux (WSL) - это уровень совместимости, который позволяет пользователям запускать приложения Linux изначально в Windows 10. Бэкэнд Docker WSL позволяет пользователям запускать собственные контейнеры Linux Docker в Windows без эмуляции Hyper-V.

Если у вас установлено последнее обновление Windows 10 2004, рекомендуется использовать WSL в качестве серверной части Docker, поскольку она работает лучше, чем серверная часть Hyper-V. У пользователей Windows 10 Home edition нет другого выхода, кроме как использовать серверную часть WSL для Docker, поскольку в домашней версии нет функции Hyper-V.

Примечание: Если вы отметили «Включить WSL 2 Windows Feature» в настройках, эту команду можно пропустить, поскольку программа установки Docker включает WSL автоматически. Перейдите в раздел «Обновить WSL» ниже, чтобы продолжить процесс.

Откройте PowerShell от имени администратора, затем выполните следующие команды, чтобы включить WSL и компонент WSL «Платформа виртуальных машин» для Windows 10.

Enable-WindowsOptionalFeature -Online -FeatureName $ («VirtualMachinePlatform», «Microsoft-Windows-Subsystem-Linux»)

Нажмите «Y» и нажмите Enter, чтобы перезагрузить компьютер и завершить процесс.

Обновить WSL

После того, как вы завершили установку Docker и перезапустили систему, при запуске Docker Desktop вы увидите сообщение об ошибке, как показано ниже.

Щелкните эту ссылку или ссылку в сообщении об ошибке, чтобы перейти на страницу Microsoft Docs с последним обновлением ядра WSL2. Затем нажмите ссылку «загрузить последнее ядро ​​WSL2 Linux» на странице, как показано ниже, чтобы загрузить установочный файл «wsl_update_x64».

Дважды щелкните файл установки, который вы загрузили на предыдущем шаге, и нажмите «да», когда будет предложено разрешение.

После того, как вы включили и обновили WSL для Windows 10, вы можете запустить Docker и найти его в меню «Пуск».

Переключение между Hyper-V и WSL Backend

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

Переключитесь на серверную часть Hyper-V, перейдя к значку Docker на панели задач, щелкнув его правой кнопкой мыши и выбрав опцию «Перейти к контейнерам Windows». Точно так же вы можете переключиться на серверную часть WSL, выбрав опцию «Перейти на контейнеры Linux».

Проверить установку Docker

Белый кит в системном трее указывает на то, что Docker запущен. Но вы также можете проверить установку докера, открыв PowerShell или CMD и набрав docker --version

PS C: \ Users \ ATH> docker --version Docker версии 19.03.8, сборка afacb8b

Затем попробуйте вытащить изображение hello-world и запустить контейнер, запустив Докер запускает привет-мир команда в PowerShell или CMD:

PS C: \ Users \ ATH> docker run hello-world Невозможно найти изображение 'hello-world: latest' локально последнее: извлечение из библиотеки / hello-world 0e03bdcc26d7: Полный дайджест: sha256: 6a65f928fb91fcfbc963f7aa6d57c8eefcfbc963f7aa6d57c8eefcfbc8345345 -world: последний привет от Docker! Это сообщение показывает, что ваша установка работает правильно.

Это сообщение показывает, что установка Docker прошла успешно, и мы готовы извлекать образы и создавать контейнеры.