Основные термины Docker
Основные термины Докер и Kubernetes на простых примерах из жизни. Базовые понятия и термины в контексте масштабирования и развёртывания
23К открытий24К показов
В первой части были рассмотрены концепции Docker’а. В сегодняшней статье вы продолжите его изучение и познакомитесь с терминами из его экосистемы.
Термины
Все термины для лучшего восприятия разделены на две группы: базовые термины (те, с которыми вы столкнётесь в первую очередь) и термины в контексте масштабирования (пригодятся при использовании нескольких контейнеров одновременно).
Базовые термины
Docker-платформа — программа, обеспечивающая возможность упаковки и запуска приложения в контейнере на любом Linux сервере. Она собирает код и зависимости. Благодаря хорошей мобильности и воспроизводимости это упрощает масштабирование.
Docker-движок — клиент-серверное приложение. Docker Community Edition (CE) — бесплатная версия и, скорее всего, вы будете использовать именно её. Docker Enterprise — платный продукт, он поставляется с дополнительными функциями поддержки, управления и безопасности.
Docker-клиент — основной способ взаимодействия с Docker’ом. При использовании Docker Command Line Interface (CLI) вы просто вводите в терминал нужную команду, которая обычно начинается со слова docker
. Затем Docker-клиент использует Docker API для отправки команды на Docker Daemon.
Docker Daemon — Docker-сервер, отвечающий на Docker API запросы. Он управляет образами, контейнерами, Docker-сетями и тома Docker.
Docker тома (Volumes) — предпочтительный механизм для хранения используемых и генерируемых вашим приложением данных.
Docker-реестр — удалённое место, где содержатся все Docker-образы. Вы загружаете туда образы или, наоборот, скачиваете их оттуда. Можно использовать как ваш собственный реестр, так и реестр любого провайдера. Например, AWS или Google Cloud.
Docker Hub — пожалуй, самый известный и крупный Docker-реестр. Там вы сможете найти нужный вам образ или загрузить ваш собственный — всё это бесплатно.
Docker-репозиторий — собрание Docker-образов с одинаковыми названиями, но с разными тегами. Тег — это идентификатор Docker-образа. Обычно в репозитории содержатся разные версии одного и того же образа. К примеру, Python — название одного из самых популярных Docker-репозиториев на Docker Hub-е. Python:3.7-slim относится к версии Python-образа с тегом 3.7-slim в Python репозитории. В реестр можно загружать как целый репозиторий, так и один образ.
Масштабирование контейнеров
Следующие четыре термина относятся к использованию нескольких контейнеров одновременно.
Docker-сеть — позволяет объединять несколько контейнеров. Объединяемые контейнеры могут находиться на одном или нескольких хостах. Хотите узнать больше? Обратите внимание на эту статью.
Docker Compose — инструмент, который упрощает запуск приложения, использующего несколько контейнеров. Он позволяет вам добавлять команды для повторного использования в специальный файл — docker-compose.yml
. Интерфейс Docker Compose command line упростит взаимодействие с вашим мультиконтейнерным приложением. К тому же Docker Compose предоставляется бесплатно вместе с установщиком Docker.
Docker Swarm (рой) — инструмент для оркестрирования (управления) развёртывания вашего приложения. Официальный Docker-туториал научит вас им пользоваться (смотрите раздел 4).
Docker-сервисы — разные части приложения. Из официальной документации:
Docker-сервисы — это «контейнеры в продакшене». Сервис запускает и конфигурирует образ: указывает используемые порты, сколько реплик контейнера запустить и т. д. Увеличение количества сервисов увеличивает число экземпляров контейнера, выполняющих эту часть программы, но при этом затрачивается намного больше ресурсов.
Docker-сервисы позволяют вам масштабировать контейнеры между несколькими Docker Daemons, а также использовать Docker Swarms.
Кратко о каждом термине
Базовые термины
- Docker-платформа — программа, запускающая приложение.
- Docker-движок — клиент-серверное приложение (Community Edition или Docker Enterprise).
- Docker-клиент — оперирует Docker CLI для взаимодействия с Docker Daemon.
- Docker Daemon — Docker-сервер управляющий ключевыми функциями.
- Docker тома (Volumes) — хранилище данных для приложения.
- Docker-реестр — удалённое хранилище образов.
- Docker Hub — самый популярный Docker-реестр.
- Docker-репозиторий — несколько сгруппированных образов, например Alpine.
Масштабирование контейнеров
- Docker-сеть — соединяет контейнеры вместе.
- Docker Compose — помогает сэкономить время при создании мульти-контейнерных приложений.
- Docker Swarm — оркестрация развёртывания приложения.
- Docker-сервисы — контейнеры в продакшене.
Немного о Kubernetes
Kubernetes — автоматизирует процесс развёртывания, масштабирования и управления контейнерами приложений. Вместо Docker Swarm можно использовать Kubernetes. Правда он не является официальной частью Doker’а, Kubernetes больше похож на Docker BFF.
Что дальше?
Если вы никогда не работали с Docker’ом, самое время немного попрактиковаться.
Docker работает на Mac OS, Linux и, конечно же, Windows. Если у вас Mac или Windows, устанавливайте последнюю версию Docker Desktop здесь. Вместе с ней идёт Kubernetes. Если у вас другая операционная система, зайдите сюда и выберите нужную вам версию.
После того как вы установили Docker на свой компьютер, выполните два первых пункта из Docker-туториала.
23К открытий24К показов