Explorando Contêineres no Windows Server 2019: Instalação do Docker

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

  1. Ative os recursos Hyper-V e Containers no servidor:

    Install-WindowsFeature -Name Hyper-V,Containers -IncludeAllSubFeature -IncludeManagementTools
    
  2. Instale o provedor de pacotes do Docker:

    Install-Module DockerMSFTProvider -Force
    Import-Module DockerMSFTProvider -Force
    

    Confirme a disponibilidade do pacote Docker:

    Find-Package docker
    

    A 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
    
  3. 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 docker
    

    Ao 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

Tags: Docker windows server 2019 containers hyper-v lcow

Publicado em 6-4 21:47 por Thomas