Что такое «докер»?
Это открытая платформа, используя которую можно разрабатывать приложения. Установка Docker предоставляет пользователю следующие возможности:n
- n
- отделять от инфраструктуры разработку-приложение,
- обращаться с инфраструктурой, как с управляемым приложением,
- повысить быстроту выкладывания кодов и приложений,
- проводить тестирование в ускоренном темпе,
- уменьшать период между написанием кода и его запуском.
nВсе эти операции докер выполняет с помощью платформы контейнерной виртуализации (специалисты ее считают достаточно легковесной), но с использованием специальных утилит. Установкой, настройкои и поддержкой докер систем занимается DevOps инженер.nnДокер в своем ядре дает возможность запускать приложения, изолированные в докер-контейнере. Такое изолирование является полностью безопасным, поэтому пользователь сможет совершать запуск нескольких контейнеров одновременно на одном хосте. Легковесная природа контейнера не требует дополнительной нагрузки гипервизора для подобного запуска.nnDocker полезен для того, чтобы производить с докер-контейнерами такие операции:n
- упаковывать в них созданные приложения,
- раздавать их для последующей разработки и тестирования,
- выкладывать в облака и ЦОД.
Install docker распространяется по лицензии Apache 2.0.n
Какие составляющие компоненты и архитектура docker?
Докер имеет два главных компонента — платформы:n
- n
- для виртуализации (с открытым кодом) – Docker,
- для управления докер-контейнерами и их последующего распространения — Docker Hub.
nОн применяет архитектуру клиент-сервер. Docker-клиент связывается с docker-демоном, а тот, в свою очередь, принимает на себя все операции с контейнерами. При этом сервер и клиент хорошо функционируют на одной системе, но клиент можно подключать и к docker-демону удаленного типа. Это связано с тем, что они общаются либо через сокет, либо с помощью RESTful API.nnЗапуск docker-демона производится на хост-машине, поэтому пользователь применяет для соединения с сервером соответствующий клиент. Главный интерфейс (докер-клиент, программа докер) связываться с docker-демоном посредством получения команд.n
В чем заключаются нюансы работы Docker?
Docker выполняет свои функции благодаря сочетанию определенных составляющих:n
- компонента сборки для создания контейнеров (докер-образы или read-only шаблон),
- компонента распространения для хранения образов (докер-реестр),
- компонента работы для функционирования созданных приложений (докер-контейнеры).
Работа Docker состоит из нескольких этапов:
- n
- скачивается образ ubuntu c Docker Hub (предварительно производиться проверка на его наличие),
- создается контейнер,
- инициализируется файловая система,
- монтируется read-only уровня,
- инициализируется сеть (этот сетевой интерфейс позволит наладить общение с хост машиной),
- устанавливается IP адрес,
- запускается приложение, которое обрабатывается и выполняется.
nnnПоследний этап предусматривает подключение к приложению и логирование входа в него, вывод и поток возможных ошибок. Это необходимо, чтобы пользователь мог отслеживать работу данного приложения. Как только пользователь решит его остановить, достаточно будет удалить контейнер.n
Какие существуют форматы контейнеров?
Вышеперечисленные компоненты с помощью Docker сочетаются в некую обертку, которая будет служить форматом для контейнера. Обычно применяется стандартный формат, устанавливаемый по умолчанию – libcontainer.Специалисты уточняют, что данная платформа может поддерживать и форматы контейнеров из Linux, но при использовании LXC.n
Какие технологии используются?
Чтобы Docker, написанный на Go, мог эффективно работать, он задействует определенные возможности ядра Linux. При этом применяются специальные технологии, каждая из которых должна выполнять свою функцию:n
- namespaces организует контейнеры,
- control groups разделяют доступные ресурсы и устанавливают ограничения, чтобы приложение получало только те, что ему необходимы,
- Union FS создает блоки для построения контейнеров.
Вариантов Union FS может использоваться несколько, например, AUFS, btrfs, vfs и DeviceMapper.nnn
[contact-form-7 404 "Не найдено"]Услуги автоматизации процесса разработки, установка, настройка поддержка docker контейнеров, обращайтесь [email protected] или Контакты