Контейнеры и Docker – что такое и для чего служит?

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

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

Концепция Контейнеров

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

Представьте себе, далее, заявление может быть сделано в различных языках программирования, будь то Java, JavaScript, Python, и она может также иметь несколько зависимостей системы, библиотеки, необходимые для повышения производительности, преобразование изображений и так далее… Это создает целый цикл зависимости для вашего приложения, то есть, если кого-то нужно начать развивать или реализовать в другой среде, все эти зависимости должны быть предварительно установлены. Найденное решение многих предприятий, создание виртуальных машин (Вм), с необходимыми параметрами в образ виртуальной машины, так что следует установить, и только в необходимости установки программного обеспечения для виртуализации и делиться образ виртуальной машины, и разработчик был готов начать. Теперь вещи начинают становиться немного запутанным, потому что теоретически это более или менее решение, описанное за контейнеры, перенос кода в изображение, которое затем становится контейнером, и выполняется в среде выполнения (Docker, например).

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

Виртуальные машины против Контейнеров

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

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

Следующая таблица показывает некоторые сходства и различия этих технологий:

Виртуальная машина Контейнеры
Изоляция Обеспечивает полной изоляции от операционной системы и других виртуальных машин. Как правило, обеспечивает изоляцию легкий хост и других контейнеров, но не обеспечивает безопасности границы такой же сильной, как ВМ.
Операционная система Выполняет всю операционную систему, включая ядро, требует больше системных ресурсов (ПРОЦЕССОРА, памяти и системы хранения данных). Выполняет часть пользовательского режима операционной системы и может быть изменен, чтобы содержать только необходимые услуги для вашего приложения, используя меньше системных ресурсов.
Совместимость с ОС Работает практически на любой операционной системе, в виртуальной машине Контейнеры в linux могут быть запущены на любой операционной системе, в то время как контейнеры Windows должны быть запущены на вершине той же версии Windows, размещенного
Обновления операционной системы и зависимостей Требуется ручное обновление каждого VM. Просто, как правило, только обновить файл изображения контейнера для новой версии.
Хранение Используется, как правило, виртуальный жесткий диск (VHD) для локального хранения данных в виртуальной машине. Использует жесткого хозяина, общий доступ к папкам через томов.
Сети Использует виртуальные сетевые адаптеры. Использует экземпляр изолированный виртуальный сетевой адаптер, обеспечивая чуть меньше виртуализации, брандмауэр компьютера совместно с контейнеры, например.

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

Так что такое Docker?

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

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

В Docker Inc. была основана Solomon Hykes и Себастьян Пал во время группы инкубаторы инициализации Y Combinator Summer 2010 года и выпущен в 2011. Его технология дебютировала для общественности в Санта-Клара на PyCon в 2013 году и выпущен как открытый исходный код.

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

Registry (Реестр): реестра docker-это архив, который позволяет загружать и скачивать изображения Docker. Эти изображения могут быть общими или частными, подавляющее большинство приложений централизует свои изображения в этом хранилище.

Docker daemon (dockerd): это процесс, настойчив в фоновом режиме, что позволяет управлять контейнерами Docker и обработки объектов контейнера.

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

Docker Swarm: Инструмент для мониторинга и управления несколькими контейнерами в кластерной среде, в основном он выступает как диспетчер контейнеров, заботясь о собственном здоровье, deploys и другие нюансы. Хотя в настоящее время стандарт на рынке есть Kubernetes, он был percursor управления контейнерами Docker.

Заключение

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

Сохранить себе или поделиться:

Add a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *