Статья опубликована в рамках: LXXVI Международной научно-практической конференции «Научное сообщество студентов: МЕЖДИСЦИПЛИНАРНЫЕ ИССЛЕДОВАНИЯ» (Россия, г. Новосибирск, 05 сентября 2019 г.)

Наука: Информационные технологии

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Шафигуллина А.Р. ПЛАТФОРМА DOCKER: КОНТЕЙНЕРНАЯ ВИРТУАЛИЗАЦИЯ // Научное сообщество студентов: МЕЖДИСЦИПЛИНАРНЫЕ ИССЛЕДОВАНИЯ: сб. ст. по мат. LXXVI междунар. студ. науч.-практ. конф. № 17(76). URL: https://sibac.info/archive/meghdis/17(76).pdf (дата обращения: 17.09.2019)
Проголосовать за статью
Конференция завершена
Эта статья набрала 0 голосов
Дипломы участников
Диплом Выбор редакционной коллегии

ПЛАТФОРМА DOCKER: КОНТЕЙНЕРНАЯ ВИРТУАЛИЗАЦИЯ

Шафигуллина Алия Рашидовна

студент 4 курса, кафедра АСУ Уфимский государственный авиационный технический университет,

РФ, г. Уфа

Аннотация. Docker работает на любом дистрибутиве Linux под управлением версии 3.10 или более поздней версии ядра Linux. В 2016 году Microsoft представила контейнеры Docker, предназначенные для Windows, которыми можно управлять из любого клиента Docker или Microsoft PowerShell. Таким образом Docker также может быть запущен на Windows Server 2016 и Windows 10. Кроме того, Docker также работает на популярных облачных платформах, таких как Amazon EC2, Google Compute Engine, Rackspace и Microsoft Azure. Считается, что контейнеры менее защищены, чем виртуальные машины, поскольку они используют одно и то же ядро ​​хоста. Для решения этой проблемы Docker включил инфраструктуру подписи, которая позволяет администраторам подписывать образы контейнеров для предотвращения развертывания ненадежных контейнеров. Кроме того, для большей безопасности Docker предоставил решения для сканирования безопасности контейнеров. Это помогает администраторам обнаруживать уязвимости в образах контейнеров. Благодаря этим преимуществам и услугам Docker используют миллионы разработчиков и более 650 коммерческих клиентов Global 10K, включая ADP, GE, MetLife, PayPal и Societe Generale.

Ключевые слова: Docker, containerization, виртуализация.

 

Вступление

Docker - это программная платформа с открытым исходным кодом, запущенная в марте 2013 года компанией Docker Inc. [1, c. 5] для упаковки и запуска приложений в контейнерной технологии. Docker предоставляет уникальную технологию, отделяя зависимости приложений от инфраструктуры, которая удовлетворяет как системных операторов, так и разработчиков. Официальный логотип Docker показан на рисунке 1.

 

Рисунок 1. Официальный логотип Docker

 

Контейнеры Docker имеют малый вес, поскольку они совместно используют ядро операционной системы, и поэтому несколько контейнеров могут работать на одном компьютере в изолированном процессе. Контейнеры Docker доступны как для Linux [2, c. 5], так и для Windows [3, c. 5] приложений. Поскольку контейнеры изолируют программное обеспечение от окружающей среды, оно работает одинаково и во время разработки, и во время тестирования, независимо от инфраструктуры. Таким образом, Docker предоставляет свободу для создания, управления и защиты критически важных для бизнеса приложений без страха перед технологией или привязкой инфраструктуры.

КОНТЕЙНЕРЫ DOCKER VS. ВИРТУАЛЬНЫЕ МАШИНЫ

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

СИСТЕМА УПРАВЛЕНИЯ ПЛАТФОРМОЙ DOCKER (DOCKER ENGINE)

 

Docker Engine является основным компонентом платформы Docker. Это клиент-серверное приложение, которое позволяет разрабатывать, связывать, отправлять и запускать приложения с помощью своих основных компонентов (как показано на рисунке 2), таких как docker daemon, REST API и docker-client.

 

Рисунок 2. Структура движка Docker

 

  • Docker Daemon: это сервер (демон); тип фоновой программы, который управляет и создает объекты Docker, такие как образы (image), контейнеры (container), сети (network) и хранилища данных (data volumes).
  • REST API: определяет интерфейсы, которые программы могут использовать для общения с демоном, указания ему, что делать.
  • Docker CLI: это клиент с интерфейсом командной строки (CLI), который использует API REST Docker для взаимодействия с демоном Docker с помощью сценариев или прямых команд CLI. Благодаря этому можно просто управлять экземплярами контейнеров, что делает Docker популярным среди разработчиков.

ОБЪЕКТЫ DOCKER

Приложение собирается из различных объектов в контейнере Docker. Некоторыми из главных необходимых объектов являются:

  • Образы: предназначены только для чтения и содержат инструкции по сборке контейнеров. Они используются для хранения и передачи приложений. Образы Docker могут создаваться самостоятельно или могут использоваться теми, которые были созданы другими и опубликованы в реестре. Для создания собственного образа создается Dockerfile [4, c. 5] с простым синтаксисом для создания и запуска образа. Каждый шаг, определенный в Dockerfile, создает слой в образе. Когда Dockerfile изменяется или образ перестраивается, перестраиваются только те измененные слои. Благодаря этому образы становятся более легкими, быстрыми и небольшими по сравнению с технологиями виртуализации.
  • Контейнеры: исполняемые экземпляры образа, которые могут быть созданы, запущены, остановлены, перемещены или удалены с помощью API Docker или CLI. Контейнеры Docker изолированы от других контейнеров и хост-машины. Они определяются образом и любыми дополнительными параметрами конфигурации, предоставляемыми при запуске контейнера, включая, помимо прочего, сетевые подключения и параметры хранения.
  • Хранение: данные могут храниться в доступном для записи слое контейнера. Однако при удалении контейнера, исчезнут и данные. Для обеспечения сохранности данных и после удаления контейнера существуют механизм монтирования каталогов, а также тома. Том – это файловая система, находящаяся на хост-машине под управлением Docker.

Заключение

Рынок исполняемых сред контейнеров продолжает развиваться и расти. Технический комитет Open Container Initiative (OCI) [5, c. 5] ведет стандартизацию изначальных идей, продвигаемых Docker. На сегодняшний день многие исполняемые среды контейнеров или уже совместимы с OCI, или на пути к этому, предлагая производителям равные условия по продвижению их возможностей, ориентированных на особое применение.

 

Список литературы:

  1. Материал из Википедии — Docker, Inc., URL: https://en.wikipedia.org/wiki/Docker,_Inc. (дата обращения: 03.09.2019)
  2. Материал из Википедии — Linux, URL: https://ru.wikipedia.org/wiki/Linux (дата обращения: 03.09.2019)
  3. Материал из Википедии — Windows, URL: https://ru.wikipedia.org/wiki/Windows (дата обращения: 03.09.2019)
  4. Материал из официального сайта Docker — Dockerfile reference, URL: https://docs.docker.com/engine/reference/builder/ (дата обращения: 04.09.2019)
  5. Официальный сайт OCI — Open Container Initiative, URL https://www.opencontainers.org/ (дата обращения: 03.09.2019)
Проголосовать за статью
Конференция завершена
Эта статья набрала 0 голосов
Дипломы участников
Диплом Выбор редакционной коллегии

Оставить комментарий