Blog (1)
Komentarze (190)
Recenzje (0)
@mgnienieDocker Engine is cool ;)

Docker Engine is cool ;)

13.12.2014 15:36, aktualizacja: 13.12.2014 17:38

Postanowiłem zmierzyć się z tematem i przybliżyć czytelnikom kontenery firmy Docker - Docker Engine. Jest to technologia rozwijana na zasadach Open Source.

Filozofia konteneryzacji nie jest nowym zagadnieniem. Zapoczątkowana została przez firmę Softricity, która stworzyła produkt Solaris Zones. Mogliśmy się również spotkać z konteneryzacją w systemach linuksowych (LXC), które również były juz wcześniej wykorzystywane. Jednak przed Dockerem Engine nie były one zbyt intuicyjne i popularne.

Do tej pory triumfy święciły usługi chmurowe z wirtualizacją pełną. Aplikacyje działające w maszynie wirtualnej są niejako powiązane z systemem operacyjnym na którym działają, do tego trzeba też zaliczyć zależności systemowe i całą masę innych rzeczy, które powodują że takie wirtualne maszyny z aplikacjami zajmują bardzo dużo zasobów. Nieefektywność wirtualizacji pełnej skłoniło deweloperów do działania. Wielu największych dostawców chmurowych tj. Google, Microsoft, Baidu, Yandex oraz Amazon zaangażowało się w rozwój technologii firmy Docker.

538023

Wyszli oni naprzeciw problemom operatorów maszyn wirtualnych w przenoszeniu aplikacji i stworzyli wspomniane wcześniej kontenery Docker Engine. Są one technologią wirtualizacji aplikacji opartej na kontenerach, od której nie wymaga się działania każdej aplikacji na nowym systemie operacyjnym. Zalety to również działanie każdej aplikacji w wydzielonej przestrzeni nazw, dysponowanie własnym systemem plików, zarządza limitami zasobów dostępnych poszczególnym kontenerom, zapewnia izolację procesów poszczególnym kontenerom. Kontenery zawierają wszystkie składniki aplikacji oraz umożliwiają zarządzanie procesem aktualizowania obrazów kontenerów.

Docker Engine pozwala na proste przenoszenie aplikacji między systemami w formie obrazów. Taki obraz jest jednak dużo mniejszy od obrazów, kiedy przenosimy całe środowisko maszyny wirtualnej. Nie zawiera bowiem systemu operacyjnego - jedynie pliki konfiguracyjne.

Najważniejszą korzyścią wynikającą z konteneryzacji dla deweloperów, jest możliwość uruchamiania aplikacji praktycznie na każdym systemie operacyjnym kompatybilnym z Docker Engine. Dostawcy cloud computingu dostarczają obrazy liczących się systemów linuksowych dystrybucji (m.in.: SuSE, Ubuntu, RedHat, Gentoo oraz - w ograniczonym zakresie - Apple z Mac OS X i Microsoft wraz ze swoim Windowsem), które umożliwiają stosowanie pakowania aplikacji w kontenery.

Docker Engine to oprogramowanie kompatybilne z wspomnianymi na wstępie kontenerami linuksowymi LXC.

Jeśli kogoś zaciekawił temat, zachęcam do empirycznego kontaktu z kontenerami, żeby być przygotowanym na zbliżającą się kontenerową rewolucję :)

Wybrane dla Ciebie
Komentarze (5)