Windows Server 1709: Configurare Docker Linux

Tra le novità introdotte in Windows Server version 1709 in ambito Docker, troviamo la possibilità di eseguire container su ambienti Linux, come se fossero Windows Server Container. In questo articolo vedremo come effettuare le configurazione degli ambienti Linux.

Configurazione Virtual Machine

Uno dei requisiti per utilizzare gli ambienti Linux è quella di abilitare la Nested Virtualization, introdotta in Windows Server 2016; nel caso stiate testando la cosa su una macchina fisica, potete saltare questo passaggio. Eseguite i seguenti comandi PowerShell per esporre la funzionalità di virtualizzazione e per abilitare il MAC Spoofing:

  • Get-VM “VMName” | Set-VMProcessor -ExposeVirtualizationExtensions $true
  • Get-VMNetworkAdapter -VMName “VMName” | Set-VMNetworkAdapter -MacAddressSpoofing On

Per attivare la NV, è necessario che la CPU supporti tale funzionalità (Intel VT-x). Ricordate anche di impostare la memoria statica per evitare una carenza di risorse.

Configurazione Docker

Con la v1709 è stata introdotta la possibilità di accedere alle versioni Enterprise Edition Preview, che sono da considerarsi al pari dei ring Edge di Docker Community Edition (Docker: Enterprise Edition vs Community Edition). Attualmente la versione preview installa la versione 17.10, mentre la build di produzione è la 17.06. La 17.10 contiene al suo interno il modulo di LinuxKit, che ci serve per eseguire le immagini Linux in Windows Server.

Per abilitare il ruolo di Docker, eseguire il seguente blocco di comandi:

Install-Module DockerProvider
Install-Package Docker -ProviderName DockerProvider -RequiredVersion preview

Dopo aver fatto il riavvio, lanciate questi comandi:

[Environment]::SetEnvironmentVariable(“LCOW_SUPPORTED”, “1”, “Machine”)
Restart-Service Docker

Per disattivare la modalità Linux, lanciate questi comandi:

[Environment]::SetEnvironmentVariable(“LCOW_SUPPORTED”, “$null”, “Machine”)
Restart-Service Docker

A questo punto non resta che provare ad eseguire un container basato su ubuntu, tramite il comando: docker run -it ubuntu

Attualmente ci sono ancora dei limiti di comportamento in modalità ibrida ma Microsoft e Docker stanno lavorando per sopperire ai problemi, pronti per rilasciare la versione finale per la fine dell’anno.