Czym jest kontener?
Kontener to odizolowane środowisko, w którym można uruchomić aplikację.
Kontener, aplikacja i wszystkie jego zależności są zbudowane z elementów zasobów hosta, takich jak system operacyjny jądra, procesor i pamięć, a następnie logicznie oddzielone od innych kontenerów i od samego hosta.
Poniższy schemat przedstawia, w jaki sposób czerwony i żółty kontener współistnieją na tym samym hoście, przy użyciu tego samego sprzętu i systemu operacyjnego jądra, ale są zamknięte w ich indywidualnej przestrzeni, co pozwala im uruchamiać swoje aplikacje bez zewnętrznych zakłóceń.
Zwróć uwagę, że ten sam sprzęt i system operacyjny zainstalowany na tym sprzęcie może uruchamiać własne aplikacje i usługi również niezależne od tego, co dzieje się w każdym kontenerze.
Tworzenie i uruchamianie kontenerów w systemie Windows Server
Kontenery mogą być uruchamiane na różnych platformach, takich jak systemy operacyjne Linux, Windows i Mac. Ten artykuł/prezentacja skupia się jednak na uruchamianiu kontenerów w systemie Windows Server.
Istnieje wiele sposobów pracy z kontenerami systemu Windows, w tym Windows Admin Center (WAC) lub Visual Studio. W tym artykule/prezentacji jest jednak używany program Docker.
Docker to produkt typu platforma-jako-usługa, którego można użyć do połączenia aplikacji, wszystkich jej zależności i informacji konfiguracyjnych w jeden pakiet zwany kontenerem. Programu Docker można zatem użyć do wysyłki, uruchomienia lub usunięcia takiego kontenera.
Kolejne czynności wykonano na nowo zainstalowanym systemie Windows Server 2022.
Listę wymagań wstępnych dotyczących uruchamiania kontenerów w systemie Windows Server można znaleźć pod zewnętrznym łączem poniżej:
Rozpoczęcie pracy: Przygotowywanie systemu Windows do obsługi kontenerów
Podsumowanie kroków tworzenia i uruchamiania kontenerów w systemie Windows Server przy użyciu programu Docker:
1. Zainstaluj program Docker
W programie PowerShell (uruchom jako administrator) wpisz:
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
Po wyświetleniu monitu wpisz „
Y”,aby potwierdzić instalację NuGet.
W tej samej sesji PowerShell wpisz:
Install-Package -Name docker -ProviderName DockerMsftProvider
Po wyświetleniu monitu wpisz „
Y”, aby przyznać zaufanie pakietowi.
W tej samej sesji PowerShell wpisz:
Restart-Computer
2. Utwórz plik Docker i pobierz obraz kontenera
W sesji PowerShell z podwyższonym poziomem uprawnień przełącz się do katalogu głównego i utwórz nowy folder, wpisując:
cd\
mkdir Containers
cd Containers
W tej samej sesji PowerShell utwórz plik Docker i edytuj go, wpisując:
New-Item dockerfile
(Zwróć uwagę, że nie ma rozszerzenia pliku)
notepad dockerfile
W edytorze tekstu notatnika wprowadź 3 następujące wiersze, a następnie zapisz i zamknij plik Docker:
FROM mcr.microsoft.com/windows/servercore/iis
RUN powershell
COPY index.html C:/inetpub/wwwroot
Wróć do PowerShell, nadal w kontekście C:\Containers utwórz plik html i edytuj go, wprowadzając następujące polecenie:
New-Item index.html
notepad index.html
W edytorze tekstu notatnika wprowadź trzy następujące wiersze, a następnie zapisz i zamknij plik index.html:
<h1>Hello World!</h1>
<p>This is an example of a simple HTML page hosted on:</p>
<h2>container #1</h2>
3. Utwórz i uruchom kontener.
W programie PowerShell, nadal w folderze C:\Containers, wpisz:
docker build -t webserver .
Poczekaj, aż obraz zostanie pobrany z rejestru kontenera Microsoft, a następnie wpisz:
docker images
Teraz powinien zostać wyświetlony pobrany obraz.
Aby uruchomić kontener przy użyciu pobranego szablonu obrazu, wróć do programu PowerShell i wpisz:
docker run --name container1 -d -p 80:80 webserver
Ten ostatni wiersz tworzy i uruchamia kontener o nazwie container1 na podstawie przygotowanego obrazu serwera internetowego. Przełącznik -d nakazuje systemowi Windows uruchomienie kontenera w tle, a -p nakazuje systemowi Windows przekazywanie portu 80 (HTTP) na hoście do portu 80 w kontenerze.
Aby przetestować kontener:
otwórz przeglądarkę internetową na hoście i przejdź do lokalizacji localhost (można również użyć innego komputera w tym samym segmencie sieci i przejść do adresu IP hosta kontenera lub nazwy komputera).
Należy nacisnąć wcześniej utworzoną przykładową stronę internetową HTML:
to już koniec samouczka dotyczącego uruchamiania kontenerów Docker w systemie Windows Server 2022.