A Microsoft introduziu o suporte ao Docker a partir do Windows Server 2016. Este guia detalha o processo de instalação e configuração do Docker em um ambiente Windows Server 2019.
Instalação do Docker EE no Windows Server 2019
-
Ative os recursos Hyper-V e Containers no servidor:
Install-WindowsFeature -Name Hyper-V,Containers -IncludeAllSubFeature -IncludeManagementTools -
Instale o provedor de pacotes do Docker:
Install-Module DockerMSFTProvider -Force Import-Module DockerMSFTProvider -ForceConfirme a disponibilidade do pacote Docker:
Find-Package dockerA saída esperada deve ser semelhatne a:
Name Version Source Summary ---- ------- ------ ------- Docker 1.3.2 PSGallery Módulo para auxiliar no desenvolvimento com Docker local. Docker 18.09.5 DockerDefault Contém Docker EE para uso com Windows Server.Instale o Docker:
Install-Package -Name Docker -ProviderName DockerMSFTProvider -Source DockerDefault -Force -
Habilite o suporte a Contêineres Linux (LCOW - Linux Containers on Windows):
Atualmente, contêineres baseados em Windows executam apenas aplicativos Windows. Para executar contêineres Linux, algumas configurações adicionais são necessárias.
# Define a variável LCOW_SUPPORTED como 1 para habilitar [Environment]::SetEnvironmentVariable("LCOW_SUPPORTED", "1", "Machine") # Habilita recursos experimentais no daemon do Docker $daemonConfig = @{ "experimental" = $true } $daemonConfigJson = $daemonConfig | ConvertTo-Json $daemonConfigFile = "C:\ProgramData\docker\config\daemon.json" New-Item -ItemType File -Path $daemonConfigFile -Force Add-Content -Path $daemonConfigFile -Value $daemonConfigJson -Encoding UTF8 # Reinicie o serviço do Docker para aplicar as alterações de configuração Restart-Service dockerAo usar contêineres Linux, um kernel Linux é necessário. Baixe e extraia a versão mais recente do LCOW:
Invoke-WebRequest -Uri "https://github.com/linuxkit/lcow/releases/download/v4.14.35-v0.3.9/release.zip" -UseBasicParsing -OutFile "release.zip" Expand-Archive -Path "release.zip" -DestinationPath "$Env:ProgramFiles\Linux Containers\" -Force
Executando o Redis em um Contêiner Linux
Com o suporte a contêineres configurado, é possível executar tanto contêineres Windows quanto Linux. Como mencionado, contêeneres Windows são limitados a aplicações Windows. Para executar um contêiner Linux, como o Redis, utilize o parâmetro --platform.
docker run --platform=linux --name redis-server -d -p 6379:6379 --restart=always redis