Докерска архитектура и нейните компоненти за начинаещи

Нека се запознаем с архитектурата на Docker и нейните основни компоненти.


Предполагам, че имате основно разбиране за Докер. Ако не, можете да се обърнете към предишната статия.

Разбиране на Докер за начинаещи – технологията на контейнерите

Вярвам, че разбирате важността на Докер в DevOps. Сега зад този фантастичен инструмент трябва да има невероятна, добре обмислена архитектура. Не е ли така?

Но преди да говоря за това, нека покажа предишната и настоящата система за виртуализация.

Традиционна срещу виртуализация от ново поколение

По-рано използвахме създаването на виртуални машини и всеки VM имаше ОС, която отне много място и го натовари.

Сега в случая на контейнер за докер, имате една ОС и ресурсите се споделят между контейнерите. Следователно е лек и ботуши за секунди.

Традиционен срещу Нов ген

Докерска архитектура

По-долу е проста диаграма на Docker архитектура.

Докерска архитектура

Нека ви обясня компонентите на архитектурата на докера.

Докер двигател

Тя е основната част на цялата система на Докер. Docker Engine е приложение, което следва архитектура клиент-сървър. Инсталира се на хост машината. В Docker Engine има три компонента:

  • Сървър: Нарича се дакерският демон dockerd. Той може да създава и управлява изображения на докер. Контейнери, мрежи и т.н..
  • API за почивка: Използва се за инструктиране на демон дакер какво да прави.
  • Интерфейс на командния ред (CLI): Това е клиент, който се използва за въвеждане на докер команди.

Докер клиент

Потребителите на Docker могат да взаимодействат с Docker чрез клиент. Когато някоя команда на докер се изпълни, клиентът ги изпраща на dockerd демон, който ги изпълнява. Docker API се използва от Docker команди. Клиентът на Docker може да комуникира с повече от един демон.

Докер регистри

Това е мястото, където се съхраняват изображенията на Докер. Това може да бъде публичен регистър на докери или частен регистър на докери. Docker Hub е мястото по подразбиране на изображенията на докери, публичният регистър на магазините му. Можете също да създадете и стартирате свой собствен частен регистър.

Когато изпълнявате командите за изтегляне на докер или за изпълнение на докер, необходимите изображения на докер се изтеглят от конфигурирания регистър. Когато изпълнявате командата за натискане на докер, изображението на докер се съхранява в конфигурирания регистър.

Докер обекти

Когато работите с Docker, използвате изображения, контейнери, томове, мрежи; всичко това са обекти на Докер.

Снимки

Изображенията на Docker са шаблони само за четене с инструкции за създаване на контейнер за докер. Докер изображението може да бъде изтеглено от Docker хъб и да се използва така, както е, или можете да добавите допълнителни инструкции към основното изображение и да създадете ново и модифицирано изображение на докер. Можете да създадете свои собствени изображения на докер също с помощта на dockerfile. Създайте докерфайл с всички инструкции, за да създадете контейнер и да го стартирате; тя ще създаде вашето потребителско изображение на докер.

Докер изображението има основен слой, който е само за четене, а горният слой може да бъде написан. Когато редактирате dockerfile и го възстановите, само модифицираната част се възстановява в най-горния слой.

Контейнери

След като стартирате изображение на докер, той създава контейнер за докер. Всички приложения и тяхната среда работят в този контейнер. Можете да използвате Docker API или CLI за стартиране, спиране, изтриване на контейнер за докер.

По-долу е примерна команда за стартиране на контейнер за докер на ubuntu:

docker run -i -t ubuntu / bin / bash

Обемите

Постоянните данни, генерирани от докер и използвани от контейнери на Docker, се съхраняват в томове. Те се управляват напълно от докер чрез docker CLI или Docker API. Томовете работят както в Windows, така и в Linux. Вместо да се запазват данни в записващия слой на контейнера, винаги е добър вариант да се използват томове за него. Съдържанието на обема съществува извън жизнения цикъл на контейнера, така че използването на обем не увеличава размера на контейнера.

Можете да използвате -v или –mount флаг, за да стартирате контейнер с обем. В тази примерна команда използвате обем geekvolume с контейнер geekflare.

docker run -d – име geekflare -v geekvolume: / app nginx: последно

мрежи

Докерската мрежа е пасаж, през който комуникират всички изолирани контейнери. В докер има главно пет мрежови драйвери:

  1. мост: Това е мрежовият драйвер по подразбиране за контейнер. Използвате тази мрежа, когато приложението ви работи на самостоятелни контейнери, т.е. множество контейнери, комуникиращи с един и същ хост на докер.
  2. домакин: Този драйвер премахва мрежовата изолация между докер контейнерите и хокера на докера. Използва се, когато нямате нужда от мрежова изолация между хост и контейнер.
  3. настилка: Тази мрежа дава възможност на рояковите услуги да комуникират помежду си. Използва се, когато контейнерите се изпълняват на различни хокери на Docker или когато ройд услугите се формират от множество приложения.
  4. Нито един: Този драйвер деактивира всички мрежи.
  5. macvlan: Този драйвер присвоява mac адрес на контейнерите, за да изглежда като физически устройства. Трафикът се препраща между контейнери чрез техните mac адреси. Тази мрежа се използва, когато искате контейнерите да изглеждат като физическо устройство, например, докато мигрирате VM настройка.

заключение

Надявам се това ви дава представа за Docker архитектурата и нейните основни компоненти. Навигирайте около Докер, за да научите повече и ако се интересувате от практическо обучение, проверете това Курс по докерско майсторство.

ЕТИКЕТИ:

  • докер

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map