Wat is een container?
Een container is een geïsoleerde omgeving waar een applicatie kan worden uitgevoerd.
De container, de applicatie en al zijn afhankelijkheden worden geconstrueerd met delen van de resources van de host, zoals een kernelbesturingssysteem, CPU en geheugen, en vervolgens logisch gescheiden van andere containers en van de host zelf.
In het onderstaande diagram wordt geïllustreerd hoe een rode en gele container naast elkaar bestaan binnen dezelfde host, met dezelfde hardware en hetzelfde kernelbesturingssysteem, maar zijn opgenomen in hun individuele ruimte waardoor ze hun apps kunnen uitvoeren zonder externe interferentie.
Merk op hoe dezelfde hardware en het besturingssysteem dat op die hardware is geïnstalleerd, zijn eigen apps en services kunnen uitvoeren, ook onafhankelijk van wat er op elke container gebeurt.
Containers maken en uitvoeren in Windows Server
Containers kunnen op verschillende platforms worden uitgevoerd, zoals Linux-, Windows- en Mac-besturingssystemen. Dit artikel/deze demo richt zich echter op het uitvoeren van containers in Windows Server.
Er zijn meerdere manieren om met Windows-containers te werken, waaronder Windows Admin Center (WAC) of Visual Studio. In dit artikel/demo wordt echter gebruik gemaakt van Docker.
Docker is een platform-as-a-service-product dat kan worden gebruikt om een applicatie, al zijn afhankelijkheden en configuratie-informatie te combineren in één pakket dat een container wordt genoemd. Docker kan vervolgens worden gebruikt om die container te verzenden, uit te voeren of te verwijderen.
De volgende stappen zijn uitgevoerd op een nieuwe installatie van Windows Server 2022.
Een lijst met vereisten voor het uitvoeren van containers op Windows Server vindt u in de externe koppeling hieronder:
Slag: Windows voorbereiden op containers
De stappen voor het maken en uitvoeren van containers op Windows Server met behulp van Docker kunnen als volgt worden samengevat:
1. Docker
installerenVoer in PowerShell (uitvoeren als beheerder) het volgende in:
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
Voer bij de prompt "
Y" in om de installatie van NuGet te bevestigen.
Voer in dezelfde PowerShell-sessie in:
Install-Package -Name docker -ProviderName DockerMsftProvider
Voer bij de prompt "
Y" in om het pakket te vertrouwen.
Voer in dezelfde PowerShell-sessie in:
Restart-Computer
2. Een Docker-bestand maken en een containerimage
downloadenSchakel tijdens een PowerShell-sessie met verhoogde bevoegdheden over naar de hoofdmap en maak een nieuwe map door het volgende in te voeren:
cd\
mkdir Containers
cd Containers
Maak in dezelfde PowerShell-sessie het docker-bestand en bewerk het door het volgende in te voeren:
New-Item dockerfile
(Merk op dat er geen bestandsextensie is)
notepad dockerfile
Voer in de kladblokteksteditor de volgende 3 regels in, sla de dockerfile op en sluit deze:
FROM mcr.microsoft.com/windows/servercore/iis
RUN powershell
COPY index.html C:/inetpub/wwwroot
Ga terug naar Powershell, nog steeds in de context van C:\Containers en maak een n html-bestand en bewerk het door het volgende in te voeren:
New-Itemindex.html kladblok index.html Voer in de kladblokteksteditor de volgende drie regels in, sla het
index.html
bestand op en sluit het:
<h1>Hello World!</h1>
<p>This is an example of a simple HTML page hosted on:</p>
<h2>container #1</h2>
3. Bouw en voer de container uit.
Terug in PowerShell, nog steeds in de C:\Containers, type:
docker build -t webserver.
Wacht tot de image is gedownload van het Microsoft Container Registry en typ vervolgens:
docker images
U zou nu de gedownloade image moeten zien.
Om uiteindelijk een container uit te voeren met behulp van de gedownloade image-sjabloon, gaat u terug naar powershell type:docker run --name container1 -d -p 80:
80 webserver Deze laatste regel maakt en voert een container met de naam container1 uit op basis van de
webserver-image
die was voorbereid. De schakeloptie -d instrueert Windows om de container op de achtergrond uit te voeren en -p vertelt Windows om poort 80 (HTTP) op de host door te sturen naar poort 80 op de container.
De container testen:
Open een webbrowser op de host en blader naar localhost (u kunt ook een andere computer op hetzelfde netwerksegment gebruiken en naar het host-IP-adres of de computernaam van de container bladeren).
U moet op de eerder gemaakte voorbeeld-HTML-webpagina drukken:
Hiermee is de zelfstudie over het uitvoeren van Docker-containers op Windows Server 2022 voltooid.