X

Основные термины Docker

В первой части были рассмотрены концепции 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

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-туториала.

Перевод статьи «Learn Enough Docker to be Useful»

Также рекомендуем:

Рубрика: Переводы
Темы: DockerДля начинающих