Назад

Что такое Docker?

Это ПО с открытым кодом, принцип работы которого проще всего сравнить с транспортными контейнерами. Только подумайте, ведь когда-то транспортные компании сталкивались с похожими проблемами:

1. Как перевозить разные (несовместимые) типы товаров вместе (например, продукты питания с химикатами или стекло с кирпичом)?

2. Как обрабатывать пакеты разных размеров одним и тем же транспортным средством?

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

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

Эта проблема решается через создание независимости ПО от системы.

 

В чем отличие от виртуализации?

Изначально виртуализация была призвана избавить от подобных проблем, но в ней есть существенные недостатки:

  • медленная загрузка;
  • возможная плата за предоставление дополнительного пространства;
  • не все виртуальные машины (VM) поддерживают совместимое использование;
  • поддерживающие VM часто требуют сложной настройки;
  • образ может быть слишком большим, так как «дополнительная ОС» добавляет гигабайт пространства в проект поверх операционной системы, а в большинстве случаев на сервер ставится несколько VM, которые занимают еще больше места.

Докер же просто разделяет ядро ОС на все контейнеры (Docker container), работающие как отдельные процессы. Это не единственная подобная платформа, но, бесспорно, одна из самых популярных и востребованных.

 

Какие очевидные плюсы?

К его преимуществам относятся:

1. Ускоренный процесс разработки. Нет необходимости устанавливать вспомогательные инструменты вроде PostgreSQL, Redis, Elasticsearch: их можно запускать в контейнерах.

2. Удобная инкапсуляция приложений.

3. Понятный мониторинг.

4. Простое масштабирование.

 

Поддерживаемые платформы

Докер работает не только на его родной ОС, Linux, но также поддерживается Windows и macOS. Единственное отличие от взаимодействия с Linux в том, что на macOS и Windows платформа инкапсулируется в крошечную виртуальную машину. На данный момент Докер для macOS и Windows достиг значительного уровня удобства в использовании.

Кроме того, существует множество дополнительных приложений, таких как Kitematic или DockerMachine, которые помогают устанавливать и использовать Докер на платформах, отличных от Linux.

 

У вас нет прав для комментирования.