Docker – новата лудост при създаването на приложения

  by    1   0

Чували ли сте за Docker и Docker контейнери? Не, не се пренасяйте на пристанището, въпреки че първите асоциации ви отвеждат направо там! Ще ви разкажем за най-иновативна технология  за изграждане на приложения, чрез система от контейнери, които ги отделят на принципа наподобяващ виртуалните машини, но се отличават по нещо много съществено от тях!

Или накратко казано: Как ще спрем войната между разработчици и системни администратори! :) Docker, docker containers и създаване на най-подходящото място за разработчиците. Вижте повече!

sysadmins

Docker е платформа с отворен код изградена на базата на контейнер технологията, която ви позволява да изграждате, доставяте и стартирате разнообразни приложения, отделяйки ги от инфраструктурата. В същността си, платформата ви дава възможност да стартирате всякакви приложения, защитено изолирани в контейнери. Изолираната и безопасна среда ви позволява да работите едновременно с много контейнери във вашия сървър. Олекотеният принцип на работа, който не изисква допълнително натоварване на хипервайзора или сложна конфигурация и настройка на среда за разработка, ви позволява да използвате максимума на вашия хардуер.

Или показано в три прости стъпки: изграждаме, доставяме и стартираме с лекота.

runstrat

Изграждане (Build)

С помощта на контейнерите може да създадете приложения в изолирана среда без да се притеснявате за несъвместимост между QA машините и тези на разработчиците, както и без счупвания между различните платформи и езици.

Доставяне (Ship)

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

Стартиране (Run)

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

 Docker архитектура

architecture

 

Нека видим архитектурата, за да разберем как работи тази технология. Docker използва клиент-сървър архитектура. Клиентът* комуникира с daemon**, който поема тежките работни процеси при изграждането, стартирането и дистрибуцията на Docker контейнерите. И клиентът и daemon могат да работят на една и съща система, а също може да свържете Docker клиента към отдалечен Docker daemon.  Двете комуникират чрез sockets или чрез RESTful API.

*Docker клиент е първичният потребителски интерфейс на Docker. Приема зададените команди от потребителите и постоянно комуникира с Docker daemon – а.

**Docker daemon – както можете да видите на графиката по-горе, Docker daemon работи на сървър. Потребителите не работят директно с него, а през Docker клиента.

Docker платформата съдържа три основни компонента:

  •  Docker изображения – read-only темплейти. Например, едно изображение може да има операционна система Ubuntu* с Apache** и инсталирано ваше уеб приложение. Изображенията се използват за създаването на Docker контейнери. Docker предоставя опростен начин за създаване на нови изображения или за ъпдейта на съществуващи такива, а също така може да изтегли и Docker изображения, вече създадени от други потребители. Изображенията са изграждащият компонент на Docker.

* Ubuntu – софтуерна платформа с отворен код, която работи на всякакво устройство – от смартфони, през таблети и PC, сървъри и клауд услуги.

**Apache – уеб сървър с отворен код

  • Docker регистри – те съдържат изображенията. Това са публични или лични регистри, от които можете да качвате или теглите изображения. Публичният регистър се нарича Docker Hub. Той предоставя огромни колекции от съществуващи изображения, които можете да използвате и такива, които вие сте изработили или, които вече са създадени по-рано от друг. Регистрите са дистрибуционният компонент на Docker.
  • Docker контейнери – Docker контейнерите предоставят на програмистите, разработчиците и софтуерните инженери всички необходими инструменти за изграждането, тестването и пускането на модерни и атрактивни приложения.

container

Може би вече се чудите на какъв принцип работят те?!

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

Docker контейнерите са стартиращия компонент на Docker.

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

В контейнерите се „пакетират“ парченца софтуер в изолирана файлова система, която съдържа всичко необходими, за да стартирате: код, runtime, системни настройки, системни библиотеки – всичко, което можете да инсталирате на вашия сървър. Това гарантира сигурно стартиране на приложението, без изменения и без значение от средата.

Е, вече разбрахте какво е Docker, Docker контейнер и на какъв принцип работят те.

Скоро очаквайте повече за това, какви са предимствата на Docker контейнерите и с какво се отличават от виртуализиращите машини и как да изградите един по-добър софтуер!

За всички, на които им стана интересно какво е Docker могат да тестват бета версията на docker интегриран в споделена хостинг услуга. Бъдете сред първите и  тествайте напълно безплатно. Пишете ни на: docker@icn.bg 


Подобни публикации

Кои са видовете хостинг?

web-hosting-types-300-262 (1)Всички сайтове, които посещавате, независимо дали Facebook, онлайн магазин, блог или пък имейл доставчика ви, използват хостинг. Хостингът е една от тези сфери, в които човек лесно може да се „изгуби“, ако няма правилната „карта“. За да ви ориентираме в множеството различни услуги, сме ви подготвили полезна статия, която ще ви въведе в спецификите на […]


Прочети повече →

Какво е уеб хостинг?

web-hosting-300-262Всеки ден включваме компютъра и влизаме в множество сайтове – четем новини, проверяваме пощата си, разглеждаме социалните медии, слушаме музика, без да се замисляме какво стои зад тях. Когато решим, че искаме и ние да имаме собствен уеб сайт, се замисляме как се справят другите с тази задача. Първоначално ни се струва трудно, но този […]


Прочети повече →

Какво е Google AdWords и какви са предимствата на онлайн рекламата?

GoogleAds-300-262През последното деситилетие бизнесът засили своето присъствие в Мрежата и вече почти няма българска компания, която да не представя своите продукти и услуги в интернет пространството. Става все по-удобно да се рекламира онлайн и с малко бюджет да достигате хиляди потребители ежедневно. Google AdWords прави задачата още по-лесна и ви позволява да таргетирате правилните хора и да […]


Прочети повече →

Уебинар: „Как да изградим AdWords кампания, която да генерира печалби?“

Webinar-GoogleAds-300-262Имаме удоволствието да ви поканим на нашия безплатен уебинар на тема „Как да изградим AdWords кампания, която да генерира печалби?“ , където ще разберете повече за един от най-мощните маркетингови инструменти в съвременния технологичен свят. Уебинарът е с практическа насоченост и ще ви помогне да създадете своя първа рекламна кампания в Google, да я управлявате […]


Прочети повече →

Инфографика: WordPress vs. Joomla vs. Drupal

asdВсички обичаме детайлни и информативни инфографики, а тази направена от Skilled.co е точно такава. Сравнението между най-популярните CMS платформи – WordPress, Joomla и Drupal ще ви помогне да изберете най-подходящата платформа за новия ви уебсайт. Критериите за сравнение са характеристики като сигурност, време за инсталация, функционалности, теми и плъгини и нужни умения за използването им.


Прочети повече →