Centrum wiedzy o technologiach i pracy w IT
Docker to sposób na konteneryzację aplikacji, czyli umieszczanie kodu w elementach, które mogą działać samodzielnie.

Docker to otwarte środowisko tworzenia aplikacji

Ostatnia aktualizacja 18 maja, 2023

Docker to narzędzie do wirtualizacji opartej na kontenerach, które pozwala na uproszczenie procesu tworzenia, wdrożenia i uruchamiania aplikacji. Dzięki jego architekturze aplikacje są pakowane w lekkie, przenośne kontenery, które gwarantują elastyczność oraz izolację w różnych środowiskach.

Nie udało się zapisać Twojej subskrypcji. Spróbuj ponownie.
Udało się! Widzimy się niebawem – newsletter wysyłamy co drugi czwartek

Otrzymuj za darmo unikalne poradniki, dane i wiedzę o pracy w IT – dostarczane co 2 tygodnie

Klikając “Zapisz mnie” wyrażasz zgodę na otrzymywanie e-maili od redakcji, a także ofert partnerów oraz akceptujesz naszą Politykę prywatności.

Architektura Dockera

Składa się z kilku głównych komponentów, które współpracują ze sobą, aby umożliwić tworzenie, wdrożenie i zarządzanie kontenerami.

  • Silnik to serwer, który odpowiada za zarządzanie cyklem życia kontenerów i komunikuje się z innymi komponentami za pomocą API.
  • Kontenery to lekkie, przenośne i izolowane jednostki, w których uruchamiane są aplikacje. Są one tworzone na podstawie obrazów Dockera.
  • Obrazy to szablony czytelne tylko dla odczytu. Zawierają wszystkie niezbędne elementy, takie jak biblioteki, zależności i konfiguracje, potrzebne do uruchomienia aplikacji w kontenerze.
  • Dockerfile, czyli plik konfiguracyjny, który definiuje, jak utworzyć obraz Docker, zawierając instrukcje dotyczące budowy, wersji i konfiguracji aplikacji.
  • Docker Compose to narzędzie służące do definiowania i uruchamiania wielokontenerowych aplikacji Docker, umożliwiające orkiestrację kontenerów za pomocą plików konfiguracyjnych.
  • Docker Hub jest publicznym repozytorium obrazów, które pozwala na udostępnianie i pobieranie obrazów stworzonych przez społeczność oraz oficjalnych dostawców.
Architektura Dockera
Architektura Dockera, devopedia.org

Tworzenie i zarządzanie kontenerami

Co do zasady tworzenie kontenerów polega na budowaniu kontenerów na podstawie obrazów Docker, które zawierają wszystkie niezbędne zależności, biblioteki i konfiguracje wymagane do uruchomienia aplikacji. Zarządzanie kontenerami obejmuje operacje, takie jak uruchamianie, zatrzymywanie, usuwanie oraz monitorowanie kontenerów, które pozwalają na kontrolowanie ich cyklu życia. Serwer działający w tle, jest odpowiedzialny za komunikację z kontenerami i zarządzanie nimi za pomocą API.

Współdzielenie danych między kontenerami można realizować za pomocą woluminów Dockera, które umożliwiają przechowywanie danych niezależnie od cyklu życia kontenera. W istocie Docker Compose pozwala na zarządzanie wielokontenerowymi aplikacjami, definiując relacje i zależności między poszczególnymi kontenerami, co ułatwia ich współpracę i automatyzację procesów.

Dockerfile i obrazy

Plik konfiguracyjny Dockerfile zawiera instrukcje dotyczące budowy obrazu, takie jak określenie bazy, kopiowanie plików, instalacja zależności oraz konfiguracja aplikacji. Dockerfile i obrazy umożliwiają tworzenie wielokrotnie używalnych, spójnych i przenośnych środowisk, które upraszczają proces wdrożenia aplikacji na różnych platformach.

Obrazy Docker to czytelne tylko dla odczytu szablony, które zawierają wszystkie niezbędne elementy (biblioteki, zależności, konfiguracje) potrzebne do uruchomienia aplikacji w kontenerze. Są tworzone na podstawie instrukcji zawartych w Dockerfile. Następnie mogą być przechowywane w repozytoriach, takich jak Docker Hub, aby umożliwić ich pobieranie i wykorzystanie.

Docker Compose i orkiestracja

Docker Compose to narzędzie służące do definiowania i uruchamiania wielokontenerowych aplikacji Docker, które upraszcza proces orkiestracji kontenerów. Umożliwia tworzenie plików konfiguracyjnych opisujących, jak poszczególne kontenery powinny współpracować ze sobą, definiując relacje i zależności między nimi. Dzięki Docker Compose, zarządzanie i automatyzacja złożonych aplikacji o wielowarstwowej architekturze staje się prostsze i bardziej efektywne.

Orkiestracja to proces zarządzania i koordynacji wielokontenerowych aplikacji, który obejmuje automatyzację, skalowanie i monitorowanie ich działania. Ułatwia wdrożenie i utrzymanie złożonych systemów, umożliwiając współpracę między różnymi kontenerami oraz ich zdolność do samodzielnego optymalizowania i adaptowania się do zmieniających się warunków.

Total
0
Shares
_podobne artykuły