Terminologia platformy Docker

Napiwek

Ta zawartość jest fragmentem książki eBook, architektury mikrousług platformy .NET dla konteneryzowanych aplikacji platformy .NET dostępnych na platformie .NET Docs lub jako bezpłatnego pliku PDF, który można odczytać w trybie offline.

.NET Microservices Architecture for Containerized .NET Applications eBook cover thumbnail.

W tej sekcji wymieniono terminy i definicje, które należy znać przed uzyskaniem bardziej szczegółowych informacji na temat platformy Docker. Aby uzyskać więcej definicji, zobacz obszerny słownik udostępniany przez platformę Docker.

Obraz kontenera: pakiet ze wszystkimi zależnościami i informacjami potrzebnymi do utworzenia kontenera. Obraz zawiera wszystkie zależności (takie jak struktury) oraz konfigurację wdrażania i wykonywania do użycia przez środowisko uruchomieniowe kontenera. Zazwyczaj obraz pochodzi z wielu obrazów podstawowych, które są warstwami ułożone na siebie nawzajem w celu utworzenia systemu plików kontenera. Obraz jest niezmienny po jego utworzeniu.

Dockerfile: plik tekstowy zawierający instrukcje dotyczące tworzenia obrazu platformy Docker. Jest to jak skrypt wsadowy, pierwszy wiersz określa obraz podstawowy, aby rozpocząć od, a następnie postępować zgodnie z instrukcjami dotyczącymi instalowania wymaganych programów, kopiowania plików itd., dopóki nie uzyskasz potrzebnego środowiska roboczego.

Kompilacja: akcja tworzenia obrazu kontenera na podstawie informacji i kontekstu dostarczonego przez jego plik Dockerfile oraz dodatkowe pliki w folderze, w którym jest tworzony obraz. Obrazy można tworzyć za pomocą następującego polecenia platformy Docker:

docker build

Kontener: wystąpienie obrazu platformy Docker. Kontener reprezentuje wykonywanie pojedynczej aplikacji, procesu lub usługi. Składa się z zawartości obrazu platformy Docker, środowiska wykonawczego i standardowego zestawu instrukcji. Podczas skalowania usługi tworzy się wiele wystąpień kontenera na podstawie tego samego obrazu. Lub zadanie wsadowe może utworzyć wiele kontenerów na podstawie tego samego obrazu, przekazując różne parametry do każdego wystąpienia.

Woluminy: oferują zapisywalny system plików, którego może używać kontener. Ponieważ obrazy są tylko do odczytu, ale większość programów musi zapisywać w systemie plików, woluminy dodają warstwę zapisywalną, na podstawie obrazu kontenera, więc programy mają dostęp do zapisywalnego systemu plików. Program nie wie, że uzyskuje dostęp do warstwowego systemu plików, to tylko system plików, jak zwykle. Woluminy działają w systemie hosta i są zarządzane przez platformę Docker.

Tag: można zastosować znacznik lub etykietę do obrazów, aby można było zidentyfikować różne obrazy lub wersje tego samego obrazu (w zależności od numeru wersji lub środowiska docelowego).

Kompilacja wieloetapowa: jest funkcją, ponieważ platforma Docker 17.05 lub nowsza, która pomaga zmniejszyć rozmiar końcowych obrazów. Na przykład duży obraz podstawowy zawierający zestaw SDK może służyć do kompilowania i publikowania, a następnie do hostowania aplikacji można użyć małego obrazu podstawowego tylko w czasie wykonywania.

Repozytorium (repozytorium): kolekcja powiązanych obrazów platformy Docker z tagiem wskazującym wersję obrazu. Niektóre repozytoria zawierają wiele wariantów określonego obrazu, takich jak obraz zawierający zestawy SDK (cięższe), obraz zawierający tylko środowiska uruchomieniowe (lżejsze) itp. Te warianty można oznaczyć tagami. Pojedyncze repozytorium może zawierać warianty platformy, takie jak obraz systemu Linux i obraz systemu Windows.

Rejestr: usługa, która zapewnia dostęp do repozytoriów. Domyślny rejestr większości obrazów publicznych to Docker Hub (należący do platformy Docker jako organizacja). Rejestr zwykle zawiera repozytoria z wielu zespołów. Firmy często mają prywatne rejestry do przechowywania utworzonych obrazów i zarządzania nimi. Usługa Azure Container Registry to kolejny przykład.

Obraz z wieloma łukami: w przypadku wielu architektur (lub wieloplatformowych) jest to funkcja platformy Docker, która upraszcza wybór odpowiedniego obrazu, zgodnie z platformą, na której działa platforma Docker. Na przykład gdy plik Dockerfile żąda obrazu podstawowego z mcr.microsoft.com/dotnet/sdk:8.0 z rejestru, faktycznie pobiera 8.0-nanoserver-ltsc2022, 8.0-nanoserver-1809 lub 8.0-bullseye-slim, w zależności od systemu operacyjnego i wersji, w której działa platforma Docker.

Docker Hub: publiczny rejestr do przekazywania obrazów i pracy z nimi. Usługa Docker Hub udostępnia hosting obrazów platformy Docker, rejestry publiczne lub prywatne, wyzwalacze kompilacji i punkty zaczepienia internetowe oraz integrację z usługami GitHub i Bitbucket.

Azure Container Registry: zasób publiczny do pracy z obrazami platformy Docker i jego składnikami na platformie Azure. Zapewnia to rejestr, który znajduje się blisko wdrożeń na platformie Azure i zapewnia kontrolę nad dostępem, co umożliwia korzystanie z grup i uprawnień usługi Azure Active Directory.

Docker Trusted Registry (DTR): usługa rejestru platformy Docker (z platformy Docker), którą można zainstalować lokalnie, aby znajdowała się w centrum danych i sieci organizacji. Jest to wygodne w przypadku obrazów prywatnych, które powinny być zarządzane w przedsiębiorstwie. Zaufany rejestr platformy Docker jest dołączany jako część produktu Docker Datacenter.

Docker Desktop: narzędzia programistyczne dla systemów Windows i macOS do tworzenia, uruchamiania i testowania kontenerów lokalnie. Program Docker Desktop dla systemu Windows udostępnia środowiska programistyczne dla kontenerów systemów Linux i Windows. Host platformy Docker systemu Linux w systemie Windows jest oparty na maszynie wirtualnej funkcji Hyper-V . Host kontenerów systemu Windows jest bezpośrednio oparty na systemie Windows. Program Docker Desktop dla komputerów Mac jest oparty na strukturze funkcji Hypervisor firmy Apple i funkcji hypervisor xhyve, która udostępnia maszynę wirtualną hosta platformy Docker systemu Linux w systemie macOS. Program Docker Desktop dla systemu Windows i dla komputerów Mac zastępuje przybornik platformy Docker, który został oparty na rozwiązaniu Oracle VirtualBox.

Redagowanie: narzędzie wiersza polecenia i format pliku YAML z metadanymi do definiowania i uruchamiania aplikacji wielokontenerowych. Można zdefiniować jedną aplikację na podstawie wielu obrazów z co najmniej jednym plikiem .yml, które mogą przesłonić wartości w zależności od środowiska. Po utworzeniu definicji można wdrożyć całą aplikację z wieloma kontenerami za pomocą jednego polecenia (docker-compose up), które tworzy kontener na obraz na hoście platformy Docker.

Klaster: kolekcja hostów platformy Docker uwidoczniona tak, jakby była jednym wirtualnym hostem platformy Docker, dzięki czemu aplikacja może być skalowana do wielu wystąpień usług rozmieszczonych na wielu hostach w klastrze. Klastry platformy Docker można tworzyć za pomocą platform Kubernetes, Azure Service Fabric, Docker Swarm i Mesosphere DC/OS.

Orchestrator: narzędzie upraszczające zarządzanie klastrami i hostami platformy Docker. Orkiestratory umożliwiają zarządzanie ich obrazami, kontenerami i hostami za pomocą interfejsu wiersza polecenia lub graficznego interfejsu użytkownika. Można zarządzać siecią kontenerów, konfiguracjami, równoważeniem obciążenia, odnajdywaniem usług, wysoką dostępnością, konfiguracją hosta platformy Docker i nie tylko. Orkiestrator jest odpowiedzialny za uruchamianie, dystrybucję, skalowanie i naprawianie obciążeń w kolekcji węzłów. Zazwyczaj produkty orkiestratora są tymi samymi produktami, które zapewniają infrastrukturę klastra, taką jak Kubernetes i Azure Service Fabric, między innymi oferty na rynku.