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-site-300-262В днешния мобилен и технологичен свят бизнесът има силно присъствие в Интернет. Ако вие имате компания, но нямате уеб сайт, то на практика бизнесът ви се дефинира като изцяло “офлайн” и ограничавате достъпа на клиентите си до вашите продукти и услуги. Но защо да се възползвате от това да сте в Мрежата и какви са възможностите, […]


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

Съвети за подобряването скоростта на сайта ви

web-site-speed-300-262Преди SEO oптимизацията на сайта ви има едно важно нещо, за което е нужно да се погрижите. То е не по-малко наложащо и е от основно значение за Google ранкинга на уебсайта. Добре структурираният сайт със скоростно зареждане е от основно значение за качествения user experience. Една от първите оптимизации, които трябва да направите за […]


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

Подобряване производителността на сайта ви с ActiveCache – статистика и тестове

ActiveCache-300-262Статистиката ни показва, че вече голяма част от нашите клиенти са активирали ActiveCache – инструмента, който предостави бързина на сайта ви и помогна за ефективното използване на хостинг ресурсите. Производителността на тези уебсайтове се повиши благодарение на кеширащите системи, който се активират с помощта на ActiveCache – Redis и Memcached. В тази статия ще ви […]


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

Как ефективно да планирате новия си уебсайт?

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


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

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

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


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