Wprowadzenie do Dockera: co to jest, architektura, przepływ pracy

Opublikowany: 2020-04-27

Spis treści

Historia wirtualizacji

Nie tak dawno wdrażanie usługi było procesem zarówno powolnym, jak i bolesnym. Proces obejmował napisanie kodu przez zespół programistów, a następnie jego wdrożenie przez zespół operacyjny na maszynach metalowych. Zespół operacyjny miał wcześniej ucinaną pracę, ponieważ musiał szukać kompilatorów języka, bibliotek i poprawek, aby kod działał.

Jeśli proces miałby jakieś błędy lub błędy, musiałby zacząć od nowa – zespół programistów naprawiłby błędy lub błędy, a zespół operacyjny ponownie zacząłby wdrażać kod.

Sprawy trochę się poprawiły, gdy opracowano hiperwizory. Czym więc są hipernadzorcy? Jest to zbiór maszyn wirtualnych (VM), które mogą być stale uruchomione lub wyłączane w regularnych odstępach czasu, zwłaszcza gdy nie są używane. Maszyny wirtualne zdecydowanie pomogły, przyspieszając proces naprawiania błędów i wdrażania kodu, ale nadal miały kilka problemów. Kontenery Dockera stały się prawdziwymi przełomami. Zajęli się nawet problemami, które istniały w maszynach wirtualnych.

Przeczytaj: Kubernetes vs. Docker: podstawowe różnice

Co to jest Docker?

Jest to platforma typu open source używana przez programistów na całym świecie do uruchamiania, pakowania i dystrybucji aplikacji. Docker sprawia, że ​​proces enkapsulacji aplikacji od pierwszego do ostatniego kroku jest bardzo łatwy i wydajny. Aby lepiej zrozumieć Dockera, musisz zrozumieć, czym są kontenery i jak działają.

Kontener to nic innego jak samodzielny, lekki i wykonywalny pakiet części oprogramowania, który zawiera wszystko, co jest wymagane do jego uruchomienia. Kontenery nie są w żaden sposób zależne od platform. Tak więc Docker jest kompatybilny zarówno z maszynami z systemem Windows, jak i Linux. Ponadto możesz nawet uruchomić Dockera na maszynie wirtualnej, jeśli zajdzie taka potrzeba. Podstawowym celem, który ma osiągnąć Docker, jest umożliwienie programistom korzystania z architektury rozproszonej do uruchamiania aplikacji mikrousług.

W przeciwieństwie do maszyn wirtualnych, które kiedyś wykonywały abstrakcję sprzętu, Docker przechodzi na wyższy poziom i wykonuje abstrakcję innego zestawu zasobów na poziomie systemu operacyjnego. Zapewnia to szereg korzyści, w tym między innymi oddzielenie infrastruktury i przenośność aplikacji. Innymi słowy, w przeciwieństwie do maszyn wirtualnych, które kiedyś oddzielały serwer sprzętowy, podejście oparte na kontenerach Dockera działa poprzez abstrakcję rdzenia systemu operacyjnego. To świetna alternatywa dla wirtualizacji, która prowadzi do szybszego tworzenia lekkich instancji. Docker występuje w dwóch wersjach:

Wersja Enterprise (EE):

Ta wersja jest specjalnie zaprojektowana dla zespołów IT i rozwoju przedsiębiorstw. Ta wersja służy do tworzenia, dostarczania i uruchamiania aplikacji.

Wydanie wspólnotowe (CE):

Ta wersja jest używana przez osoby i małe zespoły, które eksplorują aplikacje oparte na kontenerach lub rozpoczynają pracę z platformą Docker.

Przeczytaj: Pomysły i tematy projektów pełnego stosu

Przepływ pracy w Dockerze

W tej sekcji skupimy się na Docker Engine, a także na jego różnych komponentach. Pomoże nam to lepiej zrozumieć, jak działa Docker, zanim przejdziemy do architektury Dockera. Docker Engine to moc, która umożliwia programistom wykonywanie różnych funkcji za pomocą tej aplikacji opartej na kontenerach. Komponentów wymienionych poniżej można używać do tworzenia, pakowania, dostarczania i uruchamiania aplikacji.

1. Demon Dockera

Jest to proces działający w tle, który stale pomaga w zarządzaniu obrazami, wielkością pamięci masowej, sieciami i kontenerami. Zawsze szuka żądań Docker API, aby je przetworzyć.

2. Docker CLI

Jest to klient interfejsu, który współdziała z Docker Daemon. Pomaga programistom uprościć proces zarządzania instancjami kontenerów. Jest to jeden z głównych powodów, dla których programiści wolą Dockera od innych podobnych aplikacji .

3. Interfejs API Docker Engine Rest

Ułatwia interakcje między demonem Docker a aplikacjami. Aby uzyskać dostęp do tych interfejsów API, zazwyczaj wymagany jest klient HTTP.

Architektura Dockera

Architektura Docker jest architekturą opartą na kliencie i serwerze. Składa się z trzech głównych elementów wymienionych poniżej:

  1. Host platformy Docker
  2. Klient Dockera
  3. Rejestr Dockera
  4. Obiekty dokowane

W początkowej fazie klient Docker wchodzi w interakcję z demonem, który jest odpowiedzialny za wykonanie większości pracy związanej z tworzeniem, uruchamianiem i dystrybucją kontenerów Docker.

Demon platformy Docker i klient mogą działać w jednym systemie lub deweloper może użyć demona zdalnego, aby połączyć go z lokalnym klientem platformy Docker. Rest API służy do nawiązywania komunikacji między demonem Docker a klientem. Można to zrobić za pośrednictwem interfejsu sieciowego lub gniazd UNIX.

Omówmy teraz szczegółowo składniki architektury platformy Docker.

Przeczytaj także: Dlaczego warto zostać programistą Full Stack?

1. Host platformy Docker

Host platformy Docker jest odpowiedzialny za uruchomienie demona platformy Docker. Docker Daemon obsługuje żądania API, w tym między innymi tworzenie i uruchamianie dockera. Zarządza również obrazami, sieciami, kontenerami i innymi obiektami platformy Docker. Demony mogą komunikować się ze sobą w celu zarządzania różnymi usługami Docker.

2. Klient Dockera

To nic innego jak metoda używana przez użytkowników do interakcji z Dockerem. Klient Docker wysyła nasze żądania, takie jak docker run i Docker builds do demona Docker. Bardzo ważną cechą klienta Docker jest to, że może komunikować się z kilkoma demonami.

3. Rejestr Dockera

Rejestr to aplikacja po stronie serwera, która jest skalowalna i bezstanowa. Nie tylko przechowuje obrazy Dockera, ale także pozwala programistom je dystrybuować. Docker zapewnia nam elastyczność w tworzeniu własnych obrazów lub dostępne są rejestry publiczne, z których możemy skorzystać. Rejestry te obejmują między innymi Docker Cloud i Docker Hub .

Konfiguracja platformy Docker jest taka, że ​​zawsze zwraca się do Docker Hub i innych rejestrów publicznych w celu wyszukania obrazów. Mamy jednak możliwość stworzenia własnego rejestru. Możemy więc wyciągnąć wymagane obrazy za pomocą naszych własnych rejestrów za pomocą poleceń docker run i docker pull. Polecenie Docker push wypycha wymagany obraz do utworzonego przez nas rejestru.

4. Obiekty dokowane

Używamy i tworzymy kilka obiektów korzystając z Dockera. Obiekty te obejmują kontenery, obrazy, wtyczki, woluminy, sieci i inne.

5. Obrazy dokowane

Obraz Dockera to nic innego jak szablon tylko do odczytu, który dostarcza nam instrukcje wymagane do utworzenia kontenera. W wielu przypadkach jeden obraz łączy się z innym obrazem. Tym, co odróżnia dwa obrazy, jest dodatkowa warstwa dostosowywania. Innymi słowy, obraz można również zdefiniować jako niezmienną migawkę kontenera. Obrazy są małe, lekkie i szybkie.

6. Kontenery Dockera

Przyjrzyjmy się innym podejściu, aby zrozumieć kontenery platformy Docker. Tak więc, jeśli obraz może być użyty do reprezentowania klasy, kontener może być jej instancją. Innymi słowy, kontener jest obiektem wykonawczym. Możemy tworzyć, uruchamiać, przenosić, zatrzymywać lub usuwać kontenery za pomocą Docker CLI lub API. Kontenery można również podłączyć do magazynu i podłączyć do jednej lub więcej niż jednej sieci. W zależności od aktualnego stanu kontenera możemy również stworzyć nowy obraz.

Wniosek

Teraz, gdy wiesz, czym jest architektura platformy Docker i jej komponenty, możesz lepiej zrozumieć wzrost jej popularności. Upraszcza zarządzanie infrastrukturą i sprawia, że ​​instancje są szybsze, lżejsze i bardziej odporne.

Jeśli chcesz dowiedzieć się więcej o kodowaniu pełnego stosu, zapoznaj się z dyplomem PG upGrad i IIIT-B w zakresie programowania pełnego stosu, który jest przeznaczony dla pracujących profesjonalistów i oferuje ponad 500 godzin rygorystycznych szkoleń, ponad 9 projektów i zadań, Status absolwentów IIIT-B, praktyczne, praktyczne projekty zwieńczenia i pomoc w pracy z najlepszymi firmami.

Przygotuj się na karierę przyszłości

BRANŻOWE ZAUFANIE NAUKI - CERTYFIKACJA UZNANA W BRANŻY.
Aplikuj teraz