Как установить docker на windows 10

Обновлено: 03.07.2024

Подсистема и клиент Docker не входят в состав Windows, потому их нужно устанавливать и настраивать отдельно. Кроме того, подсистема Docker может принимать множество пользовательских конфигураций. Например, можно настроить то, как управляющая программа принимает входящие запросы, сетевые параметры по умолчанию и параметры ведения журнала и отладки. В ОС Windows эти конфигурации можно указать в файле конфигурации или с помощью диспетчера служб Windows. В этом документе объясняется установка и настройка подсистемы Docker; также представлены примеры некоторых часто используемых конфигураций.

Установка Docker

Для работы с контейнерами Windows требуется Docker. Docker состоит из подсистемы Docker (dockerd.exe) и клиента Docker (docker.exe). Самый простой способ установить все необходимые компоненты изложен в кратком руководстве, которое поможет настроить и запустить первый контейнер.

Сведения об установке с помощью сценария см. в разделе Использование сценария для установки Docker EE.

Прежде чем использовать Docker, необходимо установить образы контейнеров. Дополнительные сведения см. в документации по образам контейнеров.

Настройка Docker с помощью файла конфигурации

Предпочтительным способом настройки подсистемы Docker в Windows является использование файла конфигурации. Путь к файлу конфигурации — C:\ProgramData\Docker\config\daemon.json. Если этот файл еще не существует, его можно создать.

Не все доступные параметры конфигурации Docker применяются к Docker в Windows. В примере ниже показаны параметры конфигурации, которые применяются. Дополнительные сведения о конфигурации подсистемы Docker см. в статье Docker daemon configuration file (Файл конфигурации управляющей программы Docker).

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

Аналогично в примере ниже настраивается хранение образов и контейнеров по альтернативному пути в управляющей программе Docker. Если оно не указано, по умолчанию используется значение c:\programdata\docker .

В примере ниже управляющая программа Docker настраивается на прием только защищенных подключений через порт 2376.

Настройка Docker в службе Docker

Подсистему Docker можно также настроить, изменив службу Docker командой sc config . При использовании этого способа флаги подсистемы Docker задаются непосредственно в службе Docker. Выполните указанную ниже команду в командной строке (cmd.exe, не PowerShell).

Не нужно выполнять эту команду в том случае, если файл daemon.json уже содержит запись "hosts": ["tcp://0.0.0.0:2375"] .

Распространенные конфигурации

В следующих примерах файла конфигурации представлены распространенные конфигурации Docker. Их можно объединить в один файл конфигурации.

Создание сети по умолчанию

Чтобы настроить подсистему Docker таким образом, чтобы не была создана сеть NAT по умолчанию, используйте следующую конфигурацию.

Дополнительные сведения см. в статье Управление сетями Docker.

Задание группы безопасности для Docker

После входа в систему на узле Docker и запуска команд Docker эти команды выполняются через именованный канал. По умолчанию только члены группы "Администраторы" могут получить доступ к подсистеме Docker через именованный канал. Чтобы указать группу безопасности, имеющую такой доступ, используйте флаг group .

Конфигурация прокси-сервера

После задания переменной перезапустите службу Docker.

Удаление Docker

В этом разделе описывается, как удалить Docker и выполнить полную очистку компонентов системы Docker в Windows 10 или Windows Server 2016.

Все команды в этих инструкциях необходимо выполнять из сеанса PowerShell с повышенными привилегиями.

Подготовка системы к удалению Docker

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

Выполните следующие командлеты, чтобы найти работающие контейнеры:

Кроме того, перед удалением Docker рекомендуется удалить все контейнеры, образы контейнеров, сети и тома из системы. Это можно сделать, выполнив следующий командлет:

Удаление Docker

Затем необходимо начать собственно удаление Docker.

Удаление Docker в Windows 10

  • На компьютере с Windows 10 перейдите в раздел Параметры > Приложения.
  • В разделе Приложения и компоненты найдите пункт Docker для Windows
  • Последовательно выберите Docker для Windows > Удалить.

Удаление Docker в Windows Server 2016

В сеансе PowerShell с повышенными привилегиями используйте командлеты Uninstall-Package и Uninstall-Module, чтобы удалить модуль Docker и соответствующий ему поставщик Управление пакетами из системы, как показано в следующем примере:

Вы можете найти поставщик пакетов, который использовался для установки Docker с помощью команды PS C:\> Get-PackageProvider -Name *Docker*

Очистка данных и системных компонентов Docker

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

Удалите сети по умолчанию Docker в Windows Server 2016.

Выполните следующий командлет, чтобы удалить программные данные Docker из системы:

Можно также удалить необязательные компоненты Windows, связанные с Docker и контейнерами в Windows.

К ним относится компонент "Контейнеры", который автоматически включается в любом экземпляре Windows 10 или Windows Server 2016 при установке Docker. Это также может быть компонент «Hyper-V», который автоматически включается в Windows 10 при установке Docker, однако в Windows Server 2016 он включается вручную.

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

Удаление компонентов Windows 10

Удаление компонентов Windows Server 2016

В сеансе PowerShell с повышенными привилегиями выполните следующие командлеты, чтобы отключить компоненты Контейнеры и (необязательно) Hyper-V.

Перезагрузка системы

Чтобы завершить удаление компонентов и очистить систему, выполните следующий командлет из сеанса PowerShell с повышенными привилегиями для перезагрузки системы:

Docker Desktop для Windows — это нативное Windows-приложение, которое предоставляет среду для сборки и запуска контейнеризированных приложений. В его основе лежат нативная Hyper-V виртуализация и сеть, что является наиболее быстрым и стабильным вариантом для работы с Docker в Windows. Docker Desktop для Windows поддерживает как Windows-, так и Linux-контейнеры.

Что нужно знать перед установкой Docker на Windows?

Нам потребуется операционная система Windows 10 версии Корпоративная, Профессиональная или Образовательная. Также должны быть подключены компоненты Hyper-V и Windows Containers. Для работы с этими компонентами система должна выполнять следующие требования:

Не менее 4 ГБ оперативной памяти.

Поддержка аппаратной виртуализации на уровне BIOS.

Есть два способа проверить, включена ли у вас виртуализация на уровне BIOS.

Способ №1: Посмотреть в «Диспетчер задач» > «Производительность» в поле «Виртуализация» должно быть значение «Включено» :


Способ №2: Воспользоваться утилитой systeminfo . Для этого нужно открыть приложение Windows Powershell или Командную строку с правами администратора ( Win+R ) и запустить команду systeminfo . Нас интересует последний пункт — «Требования Hyper-V» , где значением каждого подпункта должно быть «Да» :


Наличие технологии Microsoft Hyper-V является обязательным условием для установки Docker в Windows. Инсталлятор Docker для Windows предложит вам включить нужные компоненты и перезагрузить вашу машину.

Примечание: Если у вас на компьютере было установлено бесплатное ПО виртуализации VirtualBox, то после включения компонента Hyper-V VirtualBox перестанет работать, при этом все образы ваших виртуальных машин будут сохранены.

Docker для Windows включает в себя следующие компоненты:

Docker CLI клиент

Контейнеры и образы, созданные с помощью Docker Desktop для Windows, доступны всем пользователям машины, на которую он установлен, так как все пользователи используют одну и ту же виртуальную машину для сборки и запуска контейнеров.

Установка Docker на Windows 10

Существует два варианта установки Docker на Windows:

Приложение «Docker Toolbox for Windows».

Приложение «Docker for Windows».

Далее запускаем инсталлятор Docker Desktop Installer.exe . Следуйте инструкциям мастера установки, дайте установщику разрешение на использование прав администратора и дождитесь окончания установки.

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

Чтобы запустить Docker Desktop, воспользуйтесь поиском в Windows:


Индикатором запуска Docker является иконка «кита», появившаяся в системном трее:



Чтобы все описанные ниже действия были успешно выполнены, потребуется 64-разрядная система с версией не меньше 2004 и сборкой не меньше 18362. Проверим версию и номер сборки, выполнив в PowerShell команду winver


Если версия ниже требуемой, то необходимо произвести обновление и только после этого идти дальше

Установка WSL 2

Сначала включим компонент Windows Subsystem for Linux (WSL). Для этого запустим PowerShell с правами администратора и выполним первую команду


Выполним следующую команду


Чтобы завершить установку, перезагрузим компьютер shutdown -r -t 1

Выберем WSL 2 по умолчанию для новых дистрибутивов Linux wsl --set-default-version 2


Для целей этой статьи это необязательно, но установим дистрибутив Linux через Microsoft Store, например, Ubuntu 20.04 LTS


При первом запуске установленного дистрибутива введем имя пользователя и пароль


Чтобы увидеть запущенные дистрибутивы Linux, выполним в PowerShell команду wsl --list --verbose


Чтобы завершить работу дистрибутива Linux, выполним команду wsl --terminate Ubuntu-20.04


Файловая система запущенного дистрибутива Linux будет смонтирована по этому пути \\wsl$

Установка Docker

Скачаем Docker Desktop для Windows и установим, следуя простым инструкциям


После установки запустим приложение Docker Desktop и установим интеграцию Docker с дистрибутивом Linux (WSL 2)


Теперь отправлять команды Docker можно как через PowerShell, так и через Bash. Выполним команду docker version


Запуск контейнеров


Хорошо. Давайте сделаем что-то более интересное. Например, запустим контейнер rabbitmq


Разберем выполненную команду:

docker run - запускает контейнер из образа. Если данный образ отсутствует локально, то предварительно он будет загружен из репозитория Docker Hub

--name rabbit1 - присваивает запускаемому контейнеру имя rabbit1

-p 8080:15672 - пробрасывает порт с хоста в контейнер. 8080 - порт на хосте, 15672 - порт в контейнере

rabbitmq:3.8.9-management - имя образа и его тег/версия, разделенные двоеточием

Теперь мы можем извне контейнера взаимодействовать с сервером RabbitMQ через порт 5672 и получить доступ к управлению из браузера через порт 8080


Посмотреть статус контейнеров, в том числе остановленных, можно с помощью команд docker container ls --all или docker ps -a


Чтобы остановить наш контейнер: docker stop rabbit1 . Запустить вновь: docker start rabbit1

Для нашего примера нам понадобится отдельная сеть, т.к. мы запустим целых два контейнера, которые будут взаимодействовать между собой. На самом деле все запускаемые контейнеры по умолчанию попадают в уже существующую сеть с именем bridge, но т.к. в своей сети мы без лишних проблем сможешь обращаться из одного контейнера к другому прямо по имени, создадим сеть с названием mynet типа bridge


Далее запустим redis и подключим его к ранее созданной сети. Благодаря параметру -d процесс в контейнере будет запущен в фоновом режиме



Добавим для взаимодействия с Redis пакет StackExchange.Redis через Package Manager Console

Мы не будем акцентироваться на правильности и красоте дизайна, а быстро создадим рабочий пример

Добавим в проект файл RandomWeatherService.cs, где будет находится служба для выдачи не очень точного прогноза

Добавим файл RedisRepository.cs, где будет находится служба кеширования сформированных прогнозов

Зарегистрируем созданные службы в классе Startup

И наконец, изменим созданный автоматически единственный контроллер WeatherForecastController следующим образом

Помимо прочего в проект автоматически был добавлен файл Dockerfile с инструкциями для Docker. Оставим его без изменений

В результате получим следующую структуру проекта


Если по какой-то невероятной причине Вам понадобятся исходники, то они здесь

Запустим наше приложение в контейнере под отладкой


После того как контейнер будет запущен, также подключим его к сети mynet


После убедимся, что все необходимые контейнеры находятся в одной сети


Далее установим Breakpoint в единственном методе контроллера и пошлем запрос через Postman, или через любой браузер


Кстати, используемый порт в Вашем случае может отличаться и его можно посмотреть в окне Containers


Результат в окне Postman


Дополнительно убедимся, что значение зафиксировано в redis, подключившись с помощью консоли redis-cli

Установить Docker на Windows WSL2

В этой заметке я расскажу как поставить Докер на Windows 10, но сначала я опишу установку Windows Subsystem for Linux. Работу с самим Докером я описывать не буду, сделаю это позже.

Установка WSL2 на Windows 10

Установка элементарная, главное проверьте чтобы ваш компьютер и Windows 10 отвечали минимальным требованиям.

UPD.

Для Windows 11 и Windows 10 (сборка 19041 и выше) для установки WSL достаточно одной команды (PowerShell с правами администратора):

wsl --install

Эта команда включит все необходимые компоненты и установит дистрибутив Linux (по умолчанию Ubuntu), вам нужно будет только перезагрузить компьютер.

Если коротко, то установка WSL2 на Windows 10 сводится к следующим шагам:

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

4) Выбираем WSL 2 в качестве версии по умолчанию, если этого не сделать новые дистрибутивы Linux будут установлены в WSL 1. Вновь запускаем PowerShell с правами администратора и добавляем команду:

wsl --set-default-version 2

После я запускаю установленную Убунту и задаю логин и пароль.

Установленная Убунту через WSL2

Все, Убунту можно закрыть.

Установка Docker на Windows 10

Запускаем скачанный файл и производим обычную установку приложения Windows.

При установке убедитесь что установлена галочка на Enable WSL 2 Windows Features.

Установлена галочка на Enable WSL 2 Windows Features

После установки следуйте инструкциям и перелогиньтесь в Windows, Докер запуститься при следующем входе в Windows, иногда в первый раз может понадобится довольно длительное время.

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

После обучающего урока у вас будет запущен ваш первый Docker контейнер.

Запущен ваш первый Docker контейнер

Теперь вы можете заниматься разработкой в Windows 10 использую Docker.

Кстати, я не хочу чтобы Докер запускался каждый раз при включении компьютера, поэтому в настройках я убрал галочку Start Docker Desktop when you log in.


Сегодня контейнеры являются одной из самых популярных технологий на рынке. Если у вас нет машины на Linux, вот инструкции по использованию Docker toolbox, чтобы установить Docker на Windows.

Итак, вы хотите начать пользоваться Docker, но не очень хотите вместе с этим еще и учиться пользоваться Linux. Я крайне рекомендую пользоваться Docker на Linux, но, наверное, у вас есть причина, по которой вы выбрали Windows. К вашему счастью, Docker создал инструмент, который делает использование их ПО довольно простым на Windows.

Это ПО называется Doc k er Toolbox. Эта программа устанавливает все необходимые компоненты, позволяющие работать с Docker на Windows. И сразу предупреждаю: нет, Docker не перенесли свою платформу на Windows. Docker устанавливает VirtualBox, Boot2docker и специальный терминал быстрого доступа (запускает ВМ Boot2docker). Docker Toolbox сильно облегчает запуск Docker на машине под Windows.

Давайте разберем процесс установки и использования данного инструмента.

Установка

Простота Docker toolbox заметна сразу с начала процесса установки. Поскольку это Windows, то вся установка это - скачать файл и сделать несколько кликов мышкой. Скачайте файл и нажмите на него, чтобы запустить мастер установки.

В мастере установки ничего необычного нет. Он состоит из следующих шагов:

  • Куда установить Docker toolbox
  • Какие компоненты установить (рис. 1)
  • Выбор дополнительных компонентов (создание ярлыка на рабочем столе, обновить Boot2Docker VM и др.)
  • Начать установку


Во время установки вас попросят разрешить установку device software. Это нужно для того, чтобы Oracel VirtualBox могу получить доступ к подсистему USB. Как только, установка device software будет закончена, мастер установки завершит процесс.

Использование

На рабочем столе должны появиться 3 иконки:

  • Docker quickstart terminal
  • Oracle VM VirtualBox
  • Kitematic

Для запуска Docker Toolbox надо 2 раза нажать на Docker Quickstart Terminal. После запуска произойдет автоматическая проверка версии Boot2docker, запустятся необходимые компоненты и можно начать пользоваться Docker.


Теперь можно делать с Docker все то, что можно делать на машине с Linux. Пулить образы, разворачивать контейнеры, разрабатывать с контейнерами, и все это на машине с Windows.

Docker для каждого

Docker Toolbox доступен абсолютно бесплатно для Windows и Mac. Даже если у вас нет достаточно умений, чтобы запустить Linux сервер, вы все равно можете пользоваться всеми возможностями Docker.

Читайте также: