Udostępnij za pomocą


Terminologia platformy Docker

Wskazówka

Ta treść jest fragmentem eBooka "Architektura mikrousług .NET dla konteneryzowanych aplikacji .NET", dostępnego na .NET Docs lub jako bezpłatny plik PDF do pobrania i czytania w trybie offline.

Miniatura okładki eBooka „Architektura mikrousług platformy .NET dla konteneryzowanych aplikacji platformy .NET”.

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, od którego rozpoczynamy, a następnie postępuj zgodnie z instrukcjami dotyczącymi instalacji wymaganych programów, kopiowania plików itd., dopóki nie uzyskasz potrzebnego środowiska roboczego.

Budowanie: działanie polegające na tworzeniu obrazu kontenera na podstawie informacji oraz kontekstu dostarczonego przez plik Dockerfile, a także dodatkowych plików w folderze, w którym obraz jest budowany. Obrazy można tworzyć za pomocą następującego polecenia platformy Docker:

docker build

kontener: instancja obrazu 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 bazowego, przekazując różne parametry do każdej instancji.

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ą zapisywalną warstwę na wierzchu obrazu kontenera, dzięki czemu 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ą dostępna od wersji Docker 17.05 lub wyższej, 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): zbiór powiązanych obrazów Dockera, oznaczonych 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ślnym rejestrem dla większości obrazów publicznych jest Docker Hub, należący do organizacji Docker. 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 wieloarchitekturalny: w przypadku wielu architektur (lub wieloplatformowości) należy do funkcji Dockera, która upraszcza wybór odpowiedniego obrazu, zgodnie z platformą, na której działa Docker. Na przykład, gdy plik Dockerfile żąda obrazu podstawowego FROM 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, na których 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 webhooki oraz integrację z 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 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 jednym lub kilkoma plikami .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 zbiorze węzłów. Zazwyczaj produkty do orkiestracji to te same, które zapewniają infrastrukturę klastra, taką jak Kubernetes i Azure Service Fabric, oraz inne rozwiązania dostępne na rynku.