Docker и архитектура Docker

Что такое Docker?

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

Что такое контейнер?

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

Контейнер против виртуальной машины

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

Почему мы используем Docker?

Контейнеры Docker легки, просты в создании и развертывании. Docker предоставляет нам контейнеры, а также помогает решить проблему зависимостей, удерживая зависимости внутри контейнеров. По сути, контейнер решает синдром «это работает на моей машине».

Архитектура Docker

Прежде чем изучать архитектуру Docker, сначала необходимо узнать о демоне Docker Daemon.

Что такое демон Docker?

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

Архитектура Docker?

Docker имеет движок docker engine, который является основной частью системы Docker. Это клиент-серверное приложение, и оно состоит из трех основных компонентов:

  • СЕРВЕР: это долго работающий процесс, называемый DAEMON PROCESS.
  • Клиент, который представляет собой Docker CLI (интерфейс командной строки), используемый для ввода команд docker.
  • Rest API: Используется для указания демону docker, что делать, т.е. для связи между клиентом и сервером Клиент Docker использует команды и REST API для связи с демоном Docker (сервером). Когда клиент запускает любую команду docker на клиентском терминале docker, клиентский терминал отправляет эти команды docker демону Docker. Демон Docker получает эти команды от клиента docker в виде команды и запроса REST API.

Реестр Docker?

Реестр Docker управляет и хранит образы Docker. В Docker существует два типа реестров (публичный и приватный).

  • Публичный реестр — Docker-hub.
  • Частный реестр — ECR(AWS), ACR(AZURE), GCR(GOOGLE).

Объект Docker?

Когда вы работаете с Docker, вы используете образы, контейнеры, тома, сети; все это — объекты Docker.

Образы Docker?

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

Контейнер Docker?

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

Тома Docker

Тома в docker позволяют сохранять данные после смерти контейнера.

  • Обычные тома
  • Связывающие тома
  • Анонимные тома

Сеть Docker

Сеть Docker — это пути, по которым общаются все изолированные контейнеры

  • Мостовая сеть
  • Сеть хостов
  • Оверлейная сеть
  • Нет сети

Docker Compose

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

  • Изображения
  • Контейнеры
  • Тома
  • Сеть

Оцените статью
devanswers.ru
Добавить комментарий