Visitors have accessed this post 408 times.

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

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

Visitors have accessed this post 408 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)
Введено символов из возможных
Не отвечать

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

Преимущества и недостатки DevOps Engineer

Как у любой методологии, у DevOps есть свои сторонники, а есть и критики. И как любая методология, DevOps не является чудесной таблеткой или серебряной пулей, которая способна по волшебству решить все ваши проблемы. У нее есть и преимущества, и некоторые недостатки. О них мы и поговорим.
Преимущества DevOps
Как мы помним, методология DevOps...

2
0
28 августа 2020
Протокол SSH

Протокол SSH (Secure SHell) - один из основных и очень важных инструментов работы с Linux (тут надо отметить, что он может использоваться и для других платформ - OpenBSD, Windows, macOS). SSH применяется для зашифрованного соединения сервера и клиента путем создания защищенного соединения на удаленном компьютере. Используется прежде всего для...

0
0
25 мая 2020
Как сделать из ребенка хакера, даже если он им не является?

В феврале мировую общественность всколыхнула необычная новость – полиция одного из английских округов Уэст Мидленд выпустила необычную памятку для учителей и родителей.

В ней перечислено несколько известных программ, которые, по мнению полиции, опасны для неокрепших умов и ведут их на кривую дорожку хакерства и киберпреступности:

...

1
0
14 мая 2020