Draai Docker in Windows Server 2016

In Windows Server 2016 Technical Preview 3 krijgen we ondersteuning voor Docker en container management met PowerShell. Maar er zijn nog wel wat plooien glad te strijken.

De manier waarop applicaties worden gebouwd en aangeboden is flink aan het veranderen. We gaan naar een service delivery model, en dat gaat samen met een verschuiving naar een devops cultuur. Bij deze verandering staat de implementatie van continuous delevery processen centraal. Een andere belangrijke schakel wordt gevormd door technologieën als Docker, waardoor je applicaties en services onafhankelijk kunt maken van het besturingssysteem. Daarbij draaien meerdere containers op dezelfde host, terwijl ze helemaal los van elkaar staan in een aparte silo. Anders dan virtualisatie op basis van hypervisors hebben containers geen apart OS image nodig. En ze draaien als een zonnetje op een gevirtualiseerde infrastructuur, ze kunnen zelfs gehost worden in een intrastructuur-as-a-service cloud.

Containers zijn allesbehalve nieuw. Ze waren er al in het mailframe-tijdperk en ze zitten ook al lang in FreeBSD en OpenSolaris, ze worden zelfs al jaren ondersteund in de Linux kernel. Maar de eenvoud van de Docker container engine heeft ze pas echt een integraal onderdeel gemaakt van het moderne datacenter. De makkelijk te gebruiken commandline van Docker en de goed gedefinieerde API maken Docker containers tot snel te bouwen, te delen en te onderhouden containers op Linux. En nu ook op Windows.

Windows en Docker

Docker tools zijn al een tijdje beschikbaar voor Windows, maar dan alleen voor Windows 7 en 8.1. Maar Microsoft heeft al een tijdje geleden beloofd dat ze ook zullen worden ondersteund in Windows Server, en op de Build conferentie in april van dit jaar werd dit zelfs gedemonstreerd. Het heeft daarna nog een paar maanden geduurd voordat die ondersteuning ook echt in een release van Windows Server kwam. Een paar weken geleden was het zover met Windows Server 2016 Technical Preview 3.

Die laatste build van Windows Server 2016 heb ik sinds een tijdje op mijn testserver draaien, en ik ben eens goed gaan kijken hoe die met containers omgaat. Maar eerst een paar opmerkingen vooraf: je kunt de PowerShell container cmdlets installeren op een Windows Server met volledige UI, maar dat zou ik niet aanraden. Daarom biedt Microsoft een WIM (Windows Imaging) disk image voor een Server Core met ondersteuning voor containers aan als onderdeel van de Windows Server 2016 TP3 dowload, naast de standaard installer. Tijdens het opzetten van de test server ontdekte ik ook dat Windows Server 2016 nu veel nauwer let op de processoren die het ondersteunt. Tegenwoordig is Second Level Address Translation (SLAT) een randvoorwaarde voor Hyper-V, wat betekent dat een van mijn testservers nu dus echt verouderd is.

Je kunt de Server Core WIM omzetten in een Hyper-V VM of het gebruiken om Windows Server 2016 Core op een bare-metal server op te zetten. Maar eigenlijk is het makkelijker om te beginnen met Windows Server containers door een voorgeconfigureerd Hyper-V image te downloaden van MSDN. Daarbij kun je een PowerShell script gebruiken om de image binnen te halen en de VM te installeren en te configureren. Er zit overigens geen voortgangsindicator bij het downloadscript, en het gaat om zo'n 6GB aan files, dus je zult andere tools moeten gebruiken om een oogje in het zeil te houden. Ik heb de network traffic monitor gebruikt die in Task Manager zit, vooral omdat mijn internetverbinding nogal onstabiel is. Maar je kunt ook Azure's IaaS als host gebruiken; er is een Windows Server 2016 Core image met container support beschikbaar in de Azure gallery.

Als de virtuele machine eenmaal gedownload is, zal het script het bestandsarchief uitpakken en een Hyper-V virtuele machine opzetten. Het gebruikt daarbij het wachtwoord dat je hebt opgegeven toen je het download script aanriep. Je kunt de viewer van Hyper-V gebruiken om contact te maken met de VM, maar eerst moet je de VM afsluiten en verbinden aan je Hyper-V virtuele switch.

Volgende pagina: Containers met PowerShell

Related:
1 2 3 Page 1
Page 1 of 3
 
Shop Tech Products at Amazon