Udostępnij przez


Windows i kontenery

Dotyczy: Windows Server 2025, Windows Server 2022, Windows Server 2019, Windows Server 2016

Kontenery to technologia do tworzenia pakietów i uruchamiania aplikacji systemu Windows i Linux w różnych środowiskach lokalnych i w chmurze. Kontenery zapewniają lekkie, izolowane środowisko, które ułatwia tworzenie, wdrażanie i zarządzanie aplikacjami. Kontenery są uruchamiane i zatrzymywane szybko, co czyni je idealnym rozwiązaniem dla aplikacji, które muszą szybko dostosować się do zmieniającego się zapotrzebowania. Lekki charakter kontenerów sprawia również, że są one przydatnym narzędziem do zwiększania gęstości i wykorzystania infrastruktury.

Grafika przedstawiająca, jak kontenery mogą działać w chmurze lub lokalnie, obsługując aplikacje monolityczne lub mikrousługi napisane w prawie każdym języku.

Ekosystem kontenerów firmy Microsoft

Firma Microsoft udostępnia wiele narzędzi i platform, które ułatwiają tworzenie i wdrażanie aplikacji w kontenerach:

Jak działają kontenery

Kontener to izolowany, lekki pakiet do uruchamiania aplikacji w systemie operacyjnym hosta. Kontenery działają ponad jądrem systemu operacyjnego hosta (które można traktować jako ukrytą infrastrukturę systemu operacyjnego), jak pokazano na poniższym diagramie.

architektoniczny diagram przedstawiający, jak kontenery działają na jądrze

Chociaż kontener współdzieli jądro systemu operacyjnego hosta, nie uzyskuje do niego nieograniczonego dostępu. Zamiast tego kontener pobiera izolowany i w niektórych przypadkach zwirtualizowany widok systemu. Na przykład kontener może uzyskać dostęp do zwirtualizowanej wersji systemu plików i rejestru, ale wszelkie zmiany wpływają tylko na kontener i są odrzucane po zatrzymaniu. Aby zapisać dane, kontener może zainstalować magazyn trwały, taki jak Azure Disk lub udział plików, taki jak Azure Files.

Kontener jest oparty na jądrze, ale jądro nie zapewnia wszystkich interfejsów API i usług, których aplikacja musi uruchomić. Większość z tych interfejsów API i usług pochodzi z plików systemowych (bibliotek), które działają powyżej jądra w trybie użytkownika. Ponieważ kontener jest odizolowany od środowiska trybu użytkownika hosta, kontener potrzebuje własnej kopii tych plików systemowych trybu użytkownika. Te pliki są pakowane w coś znanego jako obraz podstawowy. Obraz podstawowy służy jako warstwa podstawowa, na której tworzysz kontener, zapewniając mu usługi systemu operacyjnego, które nie są udostępniane przez jądro.

Kontenery a maszyny wirtualne

W przeciwieństwie do kontenera maszyna wirtualna uruchamia kompletny system operacyjny, w tym własne jądro, jak pokazano na poniższym diagramie.

diagram architektury przedstawiający, jak maszyny wirtualne uruchamiają pełny system operacyjny obok systemu operacyjnego hosta

Kontenery i maszyny wirtualne mają swoje zastosowania. W rzeczywistości wiele wdrożeń kontenerów używa maszyn wirtualnych jako systemu operacyjnego hosta, a nie uruchamiania bezpośrednio na sprzęcie, zwłaszcza w przypadku uruchamiania kontenerów w chmurze.

Aby uzyskać więcej informacji na temat podobieństw i różnic w tych uzupełniających technologiach, zobacz Kontenery a maszyny wirtualne.

Obrazy kontenerów

Wszystkie kontenery są tworzone na podstawie obrazów kontenerów. Obraz kontenera to pakiet plików zorganizowanych w stos warstw, który znajduje się na komputerze lokalnym lub w zdalnym rejestrze kontenerów. Obraz kontenera składa się z plików systemu operacyjnego trybu użytkownika, które aplikacja musi uruchomić. Obraz zawiera również środowiska uruchomieniowe aplikacji, zależności i pliki konfiguracyjne wymagane przez aplikację.

Firma Microsoft oferuje kilka obrazów (nazywanych obrazami podstawowymi), których można użyć jako punktu początkowego do utworzenia własnego obrazu kontenera:

  • Windows — zawiera pełny zestaw interfejsów API systemu Windows i usług systemowych (minus role serwera).
  • Windows Server — zawiera pełny zestaw interfejsów API systemu Windows i usług systemowych.
  • Windows Server Core — mniejszy obraz, który zawiera podzbiór interfejsów API systemu Windows Server — czyli pełną platformę .NET. Obejmuje ona również większość, ale nie wszystkie role serwera (na przykład serwer faksów nie jest dołączony).
  • Nano Server — to najmniejszy obraz systemu Windows Server, który obejmuje obsługę interfejsów API platformy .NET Core oraz niektórych ról serwera.

Obrazy kontenerów składają się z serii warstw. Każda warstwa zawiera zestaw plików, które po połączeniu ze sobą reprezentują obraz kontenera. Ze względu na warstwowy charakter kontenerów, nie zawsze musisz kierować się obrazem podstawowym, aby zbudować kontener systemu Windows. Zamiast tego można określić inny obraz, który już zawiera odpowiednią strukturę. Na przykład zespół .NET publikuje obraz platformy .NET Core, który zawiera środowisko uruchomieniowe platformy .NET Core. Dzięki temu użytkownicy nie muszą duplikować procesu instalowania platformy .NET Core — zamiast tego mogą ponownie używać warstw tego obrazu kontenera. Sam obraz platformy .NET Core jest oparty na serwerze Nano Server.

Aby uzyskać więcej informacji, zobacz Container Base Images (Obrazy podstawowe kontenerów).

Użytkownicy kontenerów

Kontenery dla deweloperów

Kontenery pomagają deweloperom tworzyć i dostarczać aplikacje o wyższej jakości, szybciej. Dzięki kontenerom deweloperzy mogą utworzyć obraz kontenera, który jest wdrażany w sekundach, identycznie w różnych środowiskach. Kontenery działają jako łatwy mechanizm udostępniania kodu między zespołami i uruchamiania środowiska deweloperskiego bez wpływu na system plików hosta.

Kontenery są przenośne i uniwersalne, mogą uruchamiać aplikacje napisane w dowolnym języku i są zgodne z dowolnym komputerem z systemem Windows 10 w wersji 1607 lub nowszej lub Windows Server 2016 lub nowszej. Deweloperzy mogą tworzyć i testować kontener lokalnie na laptopie lub komputerze stacjonarnym, a następnie wdrażać ten sam obraz kontenera w chmurze prywatnej firmy, chmurze publicznej lub dostawcy usług. Naturalna zwinność kontenerów wspiera nowoczesne wzorce projektowania aplikacji w zwirtualizowanych środowiskach chmurowych na dużą skalę. Najbardziej przydatną korzyścią dla deweloperów jest być może możliwość odizolowania środowiska tak, aby aplikacja zawsze pobierała wersję bibliotek, które określisz, unikając konfliktów z zależnościami.

Kontenery dla specjalistów IT

Kontenery ułatwiają administratorom tworzenie infrastruktury, która jest łatwiejsza do aktualizowania i konserwacji, a także w pełni wykorzystuje zasoby sprzętowe. Specjaliści IT mogą używać kontenerów, aby zapewnić ustandaryzowane środowiska dla swoich zespołów programistycznych, qa i produkcyjnych. Korzystając z kontenerów, administratorzy systemów abstrahują różnice w instalacjach systemów operacyjnych oraz od podstawowej infrastruktury.

Możesz również użyć trybu interaktywnego kontenerów, aby uruchomić kolidujące instancje narzędzia wiersza polecenia na tym samym systemie.

Orkiestracja kontenerów

Orkiestratory są krytycznym elementem infrastruktury podczas konfigurowania środowiska opartego na kontenerach. Orkiestratory są niezbędne podczas zarządzania konteneryzowanymi aplikacjami na dużą skalę. Chociaż można ręcznie zarządzać kilkoma kontenerami przy użyciu platformy Docker i systemu Windows, aplikacje często korzystają z pięciu, dziesięciu lub nawet setek kontenerów, co sprawia, że orkiestratory są niezbędne.

Orkiestratory kontenerów zostały utworzone w celu ułatwienia zarządzania kontenerami na dużą skalę i w środowisku produkcyjnym. Orkiestratory udostępniają następujące funkcje:

Orkiestratory ułatwiają rozwijanie konteneryzowanych aplikacji na dużą skalę, zapewniając funkcjonalność:

  • Wdrażanie na dużą skalę
  • Planowanie obciążeń
  • Monitorowanie kondycji
  • Przełączanie w tryb failover w przypadku awarii węzła
  • Skalowanie w górę lub w dół
  • Sieć
  • Odnajdywanie usług
  • Koordynowanie uaktualnień aplikacji
  • Koligacja węzła klastra

Istnieje wiele różnych koordynatorów, których można używać z kontenerami systemu Windows; Poniżej przedstawiono opcje dostępne przez firmę Microsoft:

Testowanie kontenerów w systemie Windows

Aby rozpocząć pracę z kontenerami w systemie Windows Server lub Windows 10, zobacz następujący artykuł:

Aby uzyskać pomoc dotyczącą decydowania o tym, które usługi platformy Azure są odpowiednie dla danego scenariusza, zobacz Usługi kontenerów platformy Azure i Wybieranie usług platformy Azure do hostowania aplikacji.

Zasoby

Aby wyświetlić zasoby do korzystania z kontenerów systemu Windows Server, zobacz następujące zasoby: