В предыдущем сообщении в блоге под названием Kubernetes вы узнали о различиях между Cloud Lain и тем, что действительно является Kubernetes. В этом сообщении вы узнаете о разоблачении понятия, что контейнеризация.
Многие организации, продукты, платформы и инженеры используют Docker. Многие платформы полностью поддерживают Docker и очень немногие другие контейнеризационные двигатели, но почему?
Что такое контейнеризация
Прежде чем погрузиться в путь того, что такое Docker, вы сначала должны понять, что такое контейнеризация. Ниже приведено определение:
«Контейнер — это стандартная единица программного обеспечения, который упаковывает код и все его зависимости, поэтому приложение быстро и надежно работает от одной вычислительной среды в другую. Программное обеспечение для приложений, основанных на Linux, и на основе Windows, всегда будет работать одинаково, независимо от инфраструктуры ».
Давайте разбиваем бит определения кусочком.
» Контейнер — это стандартная единица программного обеспечения, который упаковывает код и все его зависимости, поэтому приложение быстро и надежно работает от одной вычислительной среды в другую ».
Выше сказано, что у вас есть приложение, например, приложение Go или Python. Каждое из этих приложений, написанных на этих языках, будет иметь какие -то зависимости или требования, которые обычно являются библиотеками. Эти библиотеки должны отправить с приложением, потому что приложение требует, чтобы оно работало. С помощью контейнеров вы можете легко (или более такими такими же, как средами на основе виртуальной машины), заполнять зависимости и запускать эти зависимости от любой среды. Вам не нужно беспокоиться о том, является ли это Windows или Linux, потому что на изображении Docker уже есть упакованные зависимости.
«Доступно как для приложений Linux, так и для Windows»
Вышесказанное выше, так это то, что все приложения контейнеризации могут быть составлены как из приложений Windows, так и Linux, что означает, что нет зависимости от конкретной операционной системы. Есть контейнеры Python, Go Containers, .net Containers, .net Основные контейнеры … список можно продолжать и продолжать.
«Контейнерное программное обеспечение всегда будет работать одинаково, независимо от инфраструктуры».
Для окончательного разрыва — то, что говорится выше, независимо от того, в какой операционной системе или инфраструктуре работает приложение (голый металл, виртуализированный, облако и т. Д.) Приложение будет работать так же. Вы можете установить Docker на сервер Linux с голой металлом прямо сейчас и запустить контейнерное приложение. Вы можете взять тот же контейнер (контейнер основан на изображении) и запустить его в облачной службе контейнера, например ECS в AWS или ACI в Azure.
TLDR; Контейнеры — это способ легче, чем другой, Упакуйте приложение и запустите его где угодно.
Что такое Docker
Docker — это контейнеризация двигатель , то есть, он запускает контейнеры (например, контейнеры, объясненные в разделе Что такое контейнеризация ), но с его собственным способом сделать это.
Существует множество двигателей для контейнеров, каждый из которых имеет свой собственный способ управления контейнерами. Назвать несколько:
- контейнер
- Кри-о
- Подман
- runc
- rkt
- LXC
И несколько других ..
С этим вопрос обычно становится — Итак, почему все управляют Docker?
Ответ довольно прост — потому что это самый популярный двигатель контейнеров. Он попал на рынок технологий в нужное время, его было легко использовать, и у них была отличная маркетинговая команда.
Фактически, LXC (двигатель контейнеризации на Linux) был выпущен вплоть в 2008 году! Который был на 5 лет раньше, чем докер.
Дело не в том, что технологии не существовали раньше (первые несколько версий Docker фактически были основаны на LXC), а в том, что они просто вышли на рынок в нужное время и в целом, смогли получить капитал быстро расширяться Анкет
Почему докер
Когда инженеры и маркетологи в современном мире не до конца понимают, что такое контейнеризация, думает о контейнерах, первая мысль — Docker.
Почему?
- Это то, что сегодня популярно
- Он поддерживается повсюду из -за его популярности
Docker не/не делал ничего другого, концептуально, потом остальные. Например, с Kubernetes API версии 1.20 и выше, он больше не поддерживает двигатель Docker, только Containerd и Cri-O.
Это означает, что Docker не будет запускать контейнеры на Kubernetes, что означает, что Docker на самом деле не нужен, и в повороте разворачивает представление о том, что Docker или это единственный двигатель контейнеризации, который можно использовать.
Оригинал: «https://dev.to/thenjdevopsguy/containers-docker-o06»