Разработчик веб-приложений, начинающий data scientist. · 5 июн 2022
Docker. Установка на Windows 10.
В данном руководстве я собрала небольшое описание того, как начать работать с Docker. Основным источником для данного руководства стала книга Паминдера С. Кочера "Микросервисы и контейнеры Docker".
Так же хочу отметить, что все команды проверены мной на следующей конфигурации: Windows 10 Pro 19043.1645 Docker 20.10.14, build a224086
Если что-то не работает, или работает не так, как ожидаете, попробуйте поискать в документации.
Docker — это открытая платформа для разработки, доставки и запуска приложений. Docker предоставляет возможность упаковывать и запускать приложение в слабо изолированной среде, называемой контейнером, тем самым отделив его от зависимостей инфраструктуры. Это позволяет развернуть и запустить приложение на любом устройстве, где установлен Docker. При этом запускаться оно будет одинаково, вне зависимости от устройства, на котором запускается. Вы можете легко обмениваться контейнерами во время работы и быть уверенными, что все, с кем вы делитесь, получают один и тот же контейнер, который работает одинаково.
Основные преимущества Docker:
легковесность;
переносимость;
скорость развертывания;
эффективность использования ресурсов
Архитектура и компоненты Docker.
Docker использует клиент-серверную архитектуру, клиент взаимодействует с демоном Docker, который выполняет всю тяжелую работу по созданию, запуску и распространению ваших контейнеров Docker. Клиент и демон Docker могут работать в одной системе, или вы можете подключить клиент Docker к удаленному демону Docker. Клиент Docker и демон взаимодействуют с помощью REST API, через сокеты UNIX или сетевой интерфейс.
Объекты Docker:
Образ (Images Docker) — это шаблон только для чтения с инструкциями по созданию контейнера Docker. Их можно перемещать, передавать, хранить и версионировать в системах контроля версий. Каждый образ состоит из нескольких уровней, или слоев, которые могут совместно использоваться различными образами.
Контейнер — это исполняемый экземпляр образа. Можно создавать, запускать, останавливать, перемещать или удалять контейнеры с помощью Docker API или CLI. Можно подключить контейнер к одной или нескольким сетям, подключить к нему хранилище или даже создать новый образ на основе его текущего состояния. По умолчанию контейнер относительно хорошо изолирован от других контейнеров и хост-компьютера. Но можно контролировать, насколько изолированы сеть контейнера, хранилище или другие базовые подсистемы от других контейнеров или от хост-компьютера. Контейнер определяется своим образом, а также любыми параметрами конфигурации, которые вы предоставляете ему при создании или запуске. При удалении контейнера любые изменения его состояния, не сохраненные в постоянном хранилище, исчезают.
Основные компоненты, из которых состоит Docker:
Сервер или демон Docker. Он прослушивает запросы Docker API и управляет объектами Docker, такими как образы, контейнеры, сети и тома. Демон также может взаимодействовать с другими демонами для управления службами Docker.
Клиент Docker. Пользовательский интерфейс, интерфейс командной строки для взаимодействия с демоном Docker.
Docker Desktop — это приложение для среды Mac или Windows, которое позволяет создавать и совместно использовать контейнерные приложения и микрослужбы. Docker Desktop включает демон Docker (dockerd), клиент Docker (docker), Docker Compose, Docker Content Trust, Kubernetes и Credential Helper.
Реестр Docker. Репозиторий для хранения и распространения образов и контейнеров. Известные репозитории: Docker Hub, Azure Container Registry, GitHub Container Registry.
Файл Dockerfile. Это файл, который содержит набор инструкций, которые выполняют сборку образов Docker.
Docker Machine. Позволяет развертывать узлы Docker на локальной машине или внутри общедоступного либо частного облака. Так же обеспечивает управление узлами.
Docker Swarm. Это готовый к использованию механизм кластеризации, позволяющий объединить несколько узлов Docker в один большой хост. Можно использовать для балансировки нагрузки.
Компоновщик Docker Compose позволяет работать с приложениями, состоящими из набора контейнеров. С помощью Dockerfile определяется необходимое окружение для приложения, а в файле docker-compose.yml определяется перечень служб. После этого Docker автоматически будет создавать и запускать необходимые контейнеры, как определено в этих файлах.
Команды docker pull или docker run извлекают необходимые образы из настроенного реестра. Команда docker push помещает образ в настроенный реестр.
Обязательно проверьте, соответствует ли ваш компьютер//ноутбук рекомендуемым параметрам. Список параметров можно найти тут.
Выбираем необходимую версию, в нашем случае под Windows.
После того, как приложение скачалось, запускаем установщик.
Очень важно! В параметрах установки пункт «Use WSL 2 instead of Hyper-V (recommended)» должен быть выбран!
Процесс установки занимает какое-то время. Если все прошло в штатном режиме, то вы увидите окно как на рисунке:
Поздравляю! Приложение установлено. Но не все так просто. Если у вас ранее был установлен и настроен WSL 2 c образом Linux, то можно начинать работать с Docker. Иначе при запуске приложения Docker Desktop появится окно приложения, в котором крупно будет написано Docker Desktop Stopping…
И появится уведомление о том, что установка WLS 2 не завершена:
Переходим по ссылке на страницу с инструкцией по установке WSL 2. Начинаем читать инструкцию с шага 4.
Необходимо скачать пакет обновления ядра Linux в WSL 2 для 64-разрядных компьютеров (если вы используете версию Win10 x64).
Примечание
Если вы используете компьютер ARM64, вместо этого скачайте пакет ARM64. Если вы не знаете, какой тип компьютера используете, откройте командную строку или PowerShell и введите systeminfo
Далее устанавливаем пакет обновления ядра.
Откройте cmd или PowerShell (рекомендую cmd запускать от имени администратора) и выполните следующую команду, чтобы задать WSL 2 в качестве версии по умолчанию при установке нового дистрибутива Linux:
wsl --set-default-version 2
Перезагрузите компьютер и Docker готов к работе.
Перед началом работы с Docker, зарегистрируйтесь на Docker Hub. Из Docker Desktop можно перейти на страницу авторизации, щелкнув кнопку «Sign in» в правом верхнем углу.
Потребуется подтверждение e-mail, после этого сможете авторизоваться на Docker Hub. Это необходимо, чтобы скачивать готовые образы из репозитория Docker Hub. Об этом подробнее расскажу в другом посте.