Найти в Дзене
aiivy782

Что такое Docker?

Привет, сегодня мы узнаем, что такое и для чего нужен Docker. Теория. Docker - это программное обеспечение с открытым исходным кодом, применяемое для разработки, тестирования, доставки и запуска веб-приложений в средах с поддержкой контейнеризации. Докер нужен для эффективного использования системы и её ресурсов, быстрого развертывания готовых программ, а также для их масштабирования и переноса в другие среды с гарантированным сохранением стабильной работы. Разрабатываться Docker начал в 2008 году. В 2013 году он был опубликован как свободно распространяемое программное обеспечение под лицензией Apache 2.0. В качестве тестового приложения, Docker был добавлен в дистрибутив Red Hat Enterprise Linux 6.5. В 2017 году была выпущена коммерческая версия Docker с расширенными возможностями. Основной принцип работы Docker - контейнеризация приложений. Данный тип виртуализации позволяет упаковывать программное обеспечение по изолированным средам - контейнерам. Каждый из этих виртуальных блоков
Оглавление

Привет, сегодня мы узнаем, что такое и для чего нужен Docker.

Теория.

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

Разрабатываться Docker начал в 2008 году. В 2013 году он был опубликован как свободно распространяемое программное обеспечение под лицензией Apache 2.0. В качестве тестового приложения, Docker был добавлен в дистрибутив Red Hat Enterprise Linux 6.5. В 2017 году была выпущена коммерческая версия Docker с расширенными возможностями.

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

Контейнеры Докера работают в разных средах: локальном центре обработки информации, облаке и персональных компьютерах.

Как устроена система Docker?

-2
  1. Docker-демон (Docker-daemon) - это сервер контейнеров, входящий в состав программных средств Docker. Демон управляет Docker-объектами (сети, хранилища, образы и контейнеры). Демон может связываться с другими демонами для управления сервисами Docker.
  2. Docker-клиент (Docker-client / CLI) - интерфейс взаимодействия пользователя с Docker-демоном. Клиент и Демон - важнейшие компоненты «движка» Докера (Docker Engine). Клиент Docker может взаимодействовать с несколькими демонами.
  3. Docker-образ (Docker-image) - файл, включающий зависимости, сведения, конфигурацию для дальнейшего развертывания и инициализации контейнера.
  4. Docker-файл (Docker-file) - описание правил по сборке образа, в котором первая строка указывает на базовый образ. Следующие команды выполняют копирование файлов и установку программ для создания определенной среды для разработки.
  5. Docker-контейнер (Docker-container) - это лёгкий и автономный исполняемый пакет ПО, который включает в себя все необходимое для запуска приложения: код, среду выполнения, системные инструменты, системные библиотеки и настройки.
  6. Том (Volume) - эмуляция файловой системы для осуществления операций чтения и записи. Она создается автоматически с контейнером, поскольку некоторые приложения осуществляют сохранение данных.
  7. Реестр (Docker-registry) - зарезервированный сервер, используемый для хранения docker-образов. Примеры реестров.
  8. Центр Docker - реестр, используемый для загрузки docker-image. Он обеспечивает их размещение и интеграцию с GitHub и Bitbucket.
  9. Контейнеры Azure - предназначен для работы с образами и их компонентами в директории Azure (Azure Active Directory).
  10. Доверенный реестр Docker или DTR — служба docker-реестра для инсталляции на локальном компьютере или сети компании.
  11. Docker-хаб (Docker-hub) или хранилище данных - репозиторий, предназначенный для хранения образов с различным программным обеспечением. Наличие готовых элементов влияет на скорость разработки.
  12. Docker-хост (Docker-host) - машинная среда для запуска контейнеров с программным обеспечением.
  13. Docker-сети (Docker-networks) - применяются для организации сетевого интерфейса между приложениями, развернутыми в контейнерах.

Что такое Docker-engine?

Docker Engine (Движок Docker) - ядро механизма Докера. Движок отвечает за функционирование и обеспечение связи между основными Docker-объектами (реестром, образами и контейнерами).

Архитектура системы Docker-engine.

-3
  1. Сервер - выполняет инициализацию демона (фоновой программы), который применяется для управления и модификации контейнеров, образов и томов.
  2. REST API - механизм, отвечающий за организацию взаимодействия Докер-клиента и Докер-демона.
  3. Клиент - позволяет пользователю взаимодействовать с сервером при помощи команд, набираемых в интерфейсе (CLI).

Заключение.

Итак, теперь мы знаем что такое Docker, знаем как он работает.

Спасибо за внимание.