Что такое Докер

Docker — это открытая платформа, позволяющая разрабатывать, доставлять и запускать приложения независимо от инфраструктуры . Приложения, поставляемые с помощью Docker, можно запускать независимо от того, работаете ли вы в Ubuntu, CentOS или Debian (это разные дистрибутивы Linux). На работу приложения это никак не влияет. Все, что вам нужно сделать, это установить Docker в данной операционной системе, и вы готовы запускать приложения Docker.

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

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

Docker — это платформа, благодаря которой вы можете очень быстро разрабатывать и реализовывать ваши приложения на основе отдельных контейнеров - изолированных сред выполнения вашего приложения. Это инструмент, разработанный для упрощения создания, развертывания и запуска приложений с использованием контейнеров. Контейнеры позволяют упаковать приложение со всеми его частями, такими как библиотеки или другие зависимости, и развернуть их как один пакет. Вы можете сравнить docker с виртуальными машинами, работающими в Windows, например, с использованием Hyper-V. Благодаря этому вы можете запускать Windows и Linux на одном физическом устройстве.

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

Методологии Docker по доставке, тестированию и быстрому развертыванию (развертыванию) кода позволяют кардинально сократить время между разработкой приложения и запуском его в продакшене, т.е. в реальной среде.

Docker и контейнеры значительно упрощают весь процесс разработки. Вместо установки гипервизора и целых операционных систем мы запускаем только то, что должно работать внутри этой системы (например, NodeJS или MongoDB). Тогда единственная операционная система — это ОС, работающая на вашем хост-компьютере. И самое главное — то, что будет назначено контейнеру, принадлежит только этому контейнеру. Даже хост не может получить доступ к ресурсам, которые использует контейнер.

Все контейнеры изолированы как друг от друга, так и от вашей операционной системы. Что и как следует запускать внутри контейнера, определяется файлом Dockerfile . Здесь вы можете найти информацию о том, какие версии библиотеки должны быть установлены, как они должны быть настроены, в каком порядке они должны запускаться и т. д. Это файл конфигурации, подобно package.json, но для Docker .

Docker — самая популярная в мире система контейнеризации приложений. Контейнеризация — это изоляция процессов от хост-процессов, что позволяет обеспечить высокую безопасность и комфорт работы.
Что такое контейнеры докера (Docker containers)?

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

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

ПредметИнформатика СложностьПростая
Что такое Docker Hub?

Docker Hub — это репозиторий образов Docker . Это страница, на которой вы можете искать различные приложения, которые уже контейнеризированы . Это означает, что они готовы к запуску в контейнере. На Docker Hub у большинства из них есть готовые инструкции по их запуску.

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

Вам не нужно знать какой-либо язык программирования, чтобы использовать Docker. Поэтому, если вы не знаете, что такое объектно-ориентированное программирование, представьте, что вы создаете план дома на листе бумаги. Такой дизайн — ваш образ. А теперь представьте, что вы строите дом по этому проекту. Этот дом - ваш контейнер, который создан на основе вашего проекта (изображения). Можно сказать, что построенный дом — это экземпляр проекта, так же как контейнер — экземпляр изображения.

ПредметИнформатика СложностьПростая
Читать по теме
Интересные статьи