Eksplorowanie platformy Docker

Ukończone

Administrator systemu Windows Server firmy Contoso musi poznać platformę Docker, kontenery platformy Docker, środowiska uruchomieniowe kontenerów i sposób ich uruchamiania w systemie Windows Server.

Omówienie środowisk uruchomieniowych platformy Docker i kontenerów

Docker Inc. to firma, która połączyła kolekcję narzędzi typu open source, rozwiązań i usług opartych na chmurze, które zapewniają wspólny model pakowania (znanego również jako konteneryzowanie) kodu aplikacji do standardowej jednostki na potrzeby tworzenia oprogramowania. Ta ustandaryzowana jednostka, nazywana kontenerem platformy Docker, jest oprogramowaniem opakowanym w kompletny system plików, który zawiera wszystko, czego potrzebuje do uruchomienia: kod, środowisko uruchomieniowe, narzędzia systemowe, biblioteki systemowe i wszystko, co można zainstalować na serwerze.

Aby obsługiwać kontener platformy Docker, istnieją dwa podstawowe składniki, które są zwykle ukryte lub niezauważone przez użytkownika uruchamiającego kontener. Te dwa składniki to środowisko uruchomieniowe kontenera i funkcje systemu operacyjnego do obsługi kontenerów. W systemie Windows Server funkcja obsługująca kontener platformy Docker jest po prostu nazywana "Kontenerami". Ta funkcja współdziała ze składnikiem o nazwie Host Compute Service (HCS). Rozwiązanie HCS jest odpowiedzialne za organizowanie platformy wirtualizacji w systemie Windows Server i jest niższym interfejsem API obsługującym zarówno kontenery, jak i maszyny wirtualne funkcji Hyper-V.

Powyżej funkcji systemu operacyjnego, która planuje kontenery, jest środowiskiem uruchomieniowym kontenera. Środowisko uruchomieniowe kontenera znajduje się między interfejsem wiersza polecenia, interfejsem użytkownika lub koordynatorem kontenera a podstawową funkcją systemu operacyjnego. Zadaniem środowiska uruchomieniowego kontenera jest tłumaczenie poleceń z użytkownika lub koordynatora kontenera na możliwości platformy systemu operacyjnego. Na przykład gdy poprosisz interfejs wiersza polecenia platformy Docker o uruchomienie nowego kontenera, interfejs wiersza polecenia będzie współdziałać ze środowiskiem uruchomieniowym kontenera, co z kolei wysyła polecenie do systemu operacyjnego w sposób zrozumiały. Środowiska uruchomieniowe kontenera istnieją, więc powyższe warstwy nie muszą wiedzieć, jak system operacyjny oczekuje odbierania poleceń. Z punktu widzenia użytkownika jest to ważne, ponieważ różne środowiska uruchomieniowe kontenerów będą miały różne funkcje i możliwości.

Zrzut ekranu przedstawiający automatycznie wygenerowany opis interfejsu użytkownika.

Istnieje wiele różnych środowisk uruchomieniowych kontenerów dostępnych do uruchamiania kontenerów w systemie Windows Server. Najczęściej spotykane są następujące:

  • Moby Project. Moby to projekt open source, z którego platforma Docker kompiluje swoje projekty komercyjne. W systemie Windows Server moby to projekt obsługiwany przez społeczność, który korzysta z platformy Dockerd jako środowiska uruchomieniowego kontenera. Rozwiązanie Moby jest idealne do testowania kontenerów w systemie Windows Server. Po zainstalowaniu narzędzie Moby udostępnia nie tylko środowisko uruchomieniowe kontenera dockerd, ale także interfejs wiersza polecenia do interakcji z kontenerami w systemie Windows Server.

Uwaga

Platforma Dockerd w systemach Windows i Windows Server używa rozwiązania HCSv1. W systemie Linux aplikacja Moby zmieniła się, aby używać kontenera jako środowiska uruchomieniowego kontenera. Obecnie praca polega na przeniesieniu narzędzia Moby do konteneraD w systemie Windows, korzystając z nowszego i ulepszonego interfejsu HCSv2.

  • KontenerD. ContainerD to środowisko uruchomieniowe kontenera typu open source, które zostało niedawno ustanowione jako preferowane środowisko uruchomieniowe kontenera dla środowisk Kubernetes. KontenerD może być używany w środowiskach produkcyjnych i jest domyślnym środowiskiem uruchomieniowym kontenera dla systemu Windows Server 2022 podczas uruchamiania w środowiskach Kubernetes. Po zainstalowaniu usługa ContainerD nie udostępnia interfejsu wiersza polecenia do interakcji z kontenerami. Zamiast tego można użyć innych interfejsów WIERSZA typu open source, takich jak CRICTL lub NerdCTL.

  • Mirantes Container Runtime (MCR). McR, formalnie znany jako Docker Enterprise Edition (Docker EE), zapewnia takie same funkcje jak Docker CE oraz dodatkowe funkcje utworzone specjalnie na potrzeby wdrożeń w przedsiębiorstwie. McR jest zalecane w przypadku korzystania z rozwiązania Docker Swarm jako koordynatora kontenerów. Po zainstalowaniu mcR zapewnia środowisko uruchomieniowe kontenera i to samo środowisko interfejsu wiersza polecenia niż docker i Moby.

Uwaga

Inny składnik o nazwie Docker Desktop dla systemu Windows może być używany w systemach Windows 10 i 11 do celów programistycznych.

Uruchamianie kontenerów w systemie Windows Server

Przed uruchomieniem kontenerów w systemie Windows Server należy ustalić, które środowisko uruchomieniowe kontenera ma być używane w środowisku. Środowisko uruchomieniowe kontenera będzie dyktować proces instalacji, który należy wykonać. Aby uzyskać więcej informacji na temat opcji w systemie Windows Server i sposobu ich instalowania, zobacz jak przygotować hosta systemu Windows Server do kontenerów.

Ważne

Jeśli planujesz użyć trybu izolacji funkcji Hyper-V dla kontenerów, musisz również zainstalować rolę serwera funkcji Hyper-V na serwerze hosta. Ponadto jeśli serwer hosta jest samą maszyną wirtualną, należy włączyć wirtualizację zagnieżdżonych przed zainstalowaniem roli funkcji Hyper-V. Ponieważ system Windows 10 i 11 domyślnie uruchamia kontenery oparte na systemie Windows w trybie izolacji funkcji Hyper-V, aby obsługiwać ten tryb domyślny, funkcja Hyper-V musi być zainstalowana w środowisku hosta systemu Windows 10 i 11.

Centrum platformy Docker

Kontenery są oparte na obrazach kontenerów, a te obrazy mogą być przechowywane w repozytoriach. Repozytoria działają jako lokalizacja, w której można tworzyć, przechowywać, zabezpieczać i udostępniać obrazy kontenerów. Docker Hub to internetowa usługa biblioteki online zarządzana przez platformę Docker, w której można wykonywać następujące czynności:

  • Rejestrowanie, przechowywanie i zarządzanie własnymi obrazami platformy Docker w repozytorium online, a następnie udostępnianie ich innym osobom.

  • Uzyskaj dostęp do ponad 100 000 obrazów kontenerów od dostawców oprogramowania, projektów open source i innych członków społeczności.

Microsoft Container Registry

Firma Microsoft udostępnia obrazy kontenerów za pośrednictwem usługi Microsoft Container Registry (MCR) w mcr.microsoft.com. Jest to oficjalne źródło obrazów kontenerów udostępnianych przez firmę Microsoft. Niezależnie od tego, gdzie są odnajdywane obrazy kontenerów firmy Microsoft, źródło ściągania jest mcr.microsoft.com.

Uwaga

Azure Container Registry to usługa platformy Azure, której można użyć do utworzenia własnego repozytorium obrazów kontenera. To repozytorium służy do przechowywania obrazów dla wszystkich typów wdrożeń kontenerów i zarządzania nimi.