Visitors have accessed this post 5738 times.

Docker – что это такое?

2
0
5738
2 октября 2020 11:35
Автор: Rebrain Me
Docker

Visitors have accessed this post 5738 times.

Если вы считаете, что докер (англ. docker – портовый рабочий) – это тот, кто грузит контейнеры, вы правы по форме, но не по содержанию. В нашем случае Docker – это действительно удобный интерфейс для работы с контейнерами. Но не только. Давайте разбираться, что это такое и с чем его едят.

Docker – это программная платформа, которая помогает ускорить разработку, тестирование и развертывание приложений за счет того, что программное обеспечение упаковывается в блоки – контейнеры. При этом в контейнер упаковывается не только само приложение, но и среда, нужная для его работы, библиотеки, системные инструменты и, конечно, код. Именно появление Docker привело к тому, что приложение теперь можно развернуть в любой среде и оно будет работать.

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

Принцип работы Docker

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

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

Зачем нужен Docker?

Главное преимущество Docker – это красивый логотип в виде кита. Шутка. Скорость, конечно, бич всех современных процессов, хоть бизнесовых, хоть технологических. С Docker можно быстрей тестировать, быстрей выкладывать приложения, быстрей запускать и редактировать код.

Какие проблемы решаем с помощью Docker:

  • легко и непринужденно передаем продукт клиенту – без отправки кучи файлов, скриптов и инструкций;
  • запросто тиражируем, если нужно поднять несколько одинаковых серверов;
  • не мучаемся каждый раз, готовя на новом сервисе одинаковую конфигурацию для продукта, а переиспользуем настройки в Docker.

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

Так для каких целей может использоваться Docker?

Для оперативной доставки ПО

Использование Docker позволяет увеличить скорость доставки приложения в несколько раз. Так, по сравнению с теми, кто Docker не использует, его пользователи делают доставку ПО в семь раз чаще, так как Docker позволяет наладить нужную периодичность.

Для стандартизации процессов и операций

Использование контейнеров позволяет упростить развертывание. А в случае появления багов – быстро откатиться к предыдущим версиям.

Для перемещения приложений

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

Для экономии финансовых и трудовых затрат

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

Для каких операций используется Docker?

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

Для работы с микросервисами

Развертывание кода из контейнеров очень удобно, для того чтобы создавать и масштабировать распределенные архитектуры.

Для процессов непрерывной интеграции и доставки

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

Для обработки данных

Пакеты данных и аналитика также могут быть объединены в контейнеры. Для их последующей распаковки и обработки не потребуется никаких специфических навыков.

Для управления инфраструктурой как кодом

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

От редакции

Если вам интересно посещать открытые онлайн-мероприятия по DevOps, Kubernetes, Docker, GitlabCI и др. и задавать вопросы в режиме реального времени, подключайтесь к каналу DevOps by REBRAIN*Анонсы мероприятий каждую неделю

Практикумы для специалистов по инфраструктуре и разработчиков — https://rebrainme.com.
Наш Youtube-канал — https://www.youtube.com/channel/UC6uIx64IFKMVmj12gKtSgBQ.

Агентство Fevlake, проектируем и поддерживаем IT-инфраструктуры с 2012 года — https://fevlake.com.

Комментарии (3)
Введено символов из возможных
Не отвечать

Вам также может понравится

Почему IaaS — это идеальный вариант для стартапов
array(1) { [0]=> object(WP_Term)#11536 (16) { ["term_id"]=> int(7) ["name"]=> string(6) "DevOps" ["slug"]=> string(6) "devops" ["term_group"]=> int(0) ["term_taxonomy_id"]=> int(7) ["taxonomy"]=> string(8) "category" ["description"]=> string(0) "" ["parent"]=> int(0) ["count"]=> int(19) ["filter"]=> string(3) "raw" ["cat_ID"]=> int(7) ["category_count"]=> int(19) ["category_description"]=> string(0) "" ["cat_name"]=> string(6) "DevOps" ["category_nicename"]=> string(6) "devops" ["category_parent"]=> int(0) } } DevOps

Перевод статьи — https://hackernoon.com/why-infrastructure-as-a-service-is-ideal-for-startups-kw963wa1

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

0
0
12 марта 2021
Утилита для удаленного обслуживания систем на базе ОС NixOS — nixops
array(1) { [0]=> object(WP_Term)#976 (16) { ["term_id"]=> int(6) ["name"]=> string(5) "Linux" ["slug"]=> string(5) "linux" ["term_group"]=> int(0) ["term_taxonomy_id"]=> int(6) ["taxonomy"]=> string(8) "category" ["description"]=> string(0) "" ["parent"]=> int(0) ["count"]=> int(28) ["filter"]=> string(3) "raw" ["cat_ID"]=> int(6) ["category_count"]=> int(28) ["category_description"]=> string(0) "" ["cat_name"]=> string(5) "Linux" ["category_nicename"]=> string(5) "linux" ["category_parent"]=> int(0) } } Linux

Автор - Юрий Изоркин

Сегодня давайте познакомимся с утилитой nixops для удаленного обслуживания систем на базе ОС NixOS. Также она поддерживает развертывание систем на VirtualBox VM, Amazon EC2, Google Compute Engine, Microsoft Azure, Hetzner physical machines, Digital Ocean, Libvirtd (Qemu), Datadog resources. Подробнее об этих возможностях...

1
2
18 декабря 2020
Linux like One-c
array(1) { [0]=> object(WP_Term)#11535 (16) { ["term_id"]=> int(6) ["name"]=> string(5) "Linux" ["slug"]=> string(5) "linux" ["term_group"]=> int(0) ["term_taxonomy_id"]=> int(6) ["taxonomy"]=> string(8) "category" ["description"]=> string(0) "" ["parent"]=> int(0) ["count"]=> int(28) ["filter"]=> string(3) "raw" ["cat_ID"]=> int(6) ["category_count"]=> int(28) ["category_description"]=> string(0) "" ["cat_name"]=> string(5) "Linux" ["category_nicename"]=> string(5) "linux" ["category_parent"]=> int(0) } } Linux

Автор статьи - Сергей Попов
Предистория
Мало кто из инфраструктурщиков на просторах России не сталкивался с «Великим и Ужасным» ОДИН-ЭС. Многие после этой встречи безвозвратно уходят в мир *nix, чтобы никогда больше не пересекаться с ним, и не жалеют об этом, остальным приходится устанавливать, обслуживать и поддерживать этого монстра многие...

0
8
3 августа 2020