Búsqueda de sitios web

Ejecute contenedores Docker en Windows Server 2019


En este tutorial, veremos cómo puede configurar su servidor Windows 2019 para ejecutar contenedores Docker. Docker ha cambiado las reglas del juego en la contenedorización de aplicaciones y en todos los patrones de diseño e implementación de microservicios. Docker facilita la creación, envío y ejecución de imágenes que contienen aplicaciones con sus dependencias y evita los locos problemas de dependencia comunes con el uso de máquinas virtuales.

El motor Docker es lo que impulsa los contenedores Docker. Fue escrito originalmente para Linux, pero se ha trabajado mucho para permitir a los usuarios de Windows y macOS ejecutar contenedores Docker.

Un requisito previo es la instalación de un servidor Windows. Esto puede ser en una máquina virtual que se ejecuta localmente, una implementación de servidor físico o una instancia en la nube que se ejecuta en Azure. Puede consultar nuestra guía de instalación a continuación.

  • Cómo instalar Windows Server 2019 paso a paso

Cómo ejecutar contenedores Docker en Windows Server 2019

Antes de poder usar los contenedores de Windows para ejecutar múltiples aplicaciones aisladas en su sistema, deberá habilitar la función de contenedores e instalar Docker en Windows Server 2019.

Paso 1: habilite la función de contenedores en Windows Server 2019

El primer paso es habilitar la función de contenedores de Windows Server 2019. Abra PowerShell como administrador.

Ejecute los siguientes comandos.

Install-Module -Name DockerMsftProvider -Repository PSGallery -Force

Esto instalará el proveedor de administración de paquetes Docker-Microsoft desde la galería PowerShell.

El resultado de muestra es el que se muestra a continuación:

Paso 2: instale Docker en Windows Server 2019

Una vez que la función Contenedores esté habilitada en Windows Server 2019, instale el último Docker Engine y Client ejecutando el siguiente comando en su sesión de PowerShell.

Install-Package -Name docker -ProviderName DockerMsftProvider

Acepte la instalación usando "Sí", "Y" o "A" para aceptar todo.

Cuando se complete la instalación, reinicie la computadora.

Restart-Computer -Force

La versión de Docker instalada se puede verificar con:

Administrator> Get-Package -Name Docker -ProviderName DockerMsftProvider
 Name                           Version          Source                           ProviderName
 ----                           -------          ------                           ------------
 docker                         18.09.2          DockerDefault                    DockerMsftProvider

Lo mismo se puede lograr con el comando docker --version.

PS C:\Users\Administrator> docker version
 Client:
  Version:           18.09.2
  API version:       1.39
  Go version:        go1.10.6
  Git commit:        1ac774dfdd
  Built:             unknown-buildtime
  OS/Arch:           windows/amd64
  Experimental:      false
 error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.39/version: open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.

La actualización se puede realizar en cualquier momento ejecutando los siguientes comandos en PowerShell.

Install-Package -Name Docker -ProviderName DockerMsftProvider -Update -Force
Start-Service Docker

Paso 3: ejecutar el contenedor Docker

Iniciar el demonio Docker

Start-Service Docker

Después de iniciar el servicio Docker Engine, descargue la imagen de muestra .NET creada previamente desde el registro de Docker Hub:

docker pull mcr.microsoft.com/dotnet/samples:dotnetapp-nanoserver-2009

Puede recuperar una lista de todas las etiquetas disponibles para dotnet/samples en https://mcr.microsoft.com/v2/dotnet/samples/tags/list

Luego implemente un contenedor simple que ejecute una aplicación .Net Hello World.

docker run mcr.microsoft.com/dotnet/samples:dotnetapp-nanoserver-2009

El contenedor se iniciará, imprimirá el mensaje de hola mundo y luego saldrá.

Ejecución de contenedores de Linux en Windows Server 2019

De fábrica, Docker en Windows solo ejecuta el contenedor de Windows. Para usar contenedores de Linux en Windows Server, debe usar Docker Enterprise Edition Preview, que incluye un sistema LinuxKit completo para ejecutar contenedores Docker Linux.

Desinstale su Docker CE actual.

Uninstall-Package -Name docker -ProviderName DockerMSFTProvider

Habilite la virtualización anidada si está ejecutando contenedores Docker utilizando una máquina virtual Linux que se ejecuta en Hyper-V.

Get-VM WinContainerHost | Set-VMProcessor -ExposeVirtualizationExtensions $true

Luego instale la versión preliminar actual de Docker EE.

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

Habilite el sistema LinuxKit para ejecutar contenedores de Linux

[Environment]::SetEnvironmentVariable("LCOW_SUPPORTED", "1", "Machine")

Reinicie el servicio Docker después del cambio.

Restart-Service docker

Extraiga una imagen acoplable de prueba.

> docker run -it --rm ubuntu /bin/bash
 root@1440a7fef7e0:/# cat /etc/os-release 
 NAME="Ubuntu"
 VERSION="18.04.1 LTS (Bionic Beaver)"
 ID=ubuntu
 ID_LIKE=debian
 PRETTY_NAME="Ubuntu 18.04.1 LTS"
 VERSION_ID="18.04"
 HOME_URL="https://www.ubuntu.com/"
 SUPPORT_URL="https://help.ubuntu.com/"
 BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
 PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
 VERSION_CODENAME=bionic
 UBUNTU_CODENAME=bionic

 root@1440a7fef7e0:/# exit
 exit

Para volver a ejecutar contenedores de Windows, ejecute:

[Environment]::SetEnvironmentVariable("LCOW_SUPPORTED", "$null", "Machine")

Disfrute ejecutando contenedores de Linux y Windows en Windows Server 2019. Envíenos un comentario en caso de cualquier problema.

Libros para aprender a administrar Kubernetes:

  • Los mejores libros de estudio de Kubernetes

Consulte también:

  • Cómo instalar aplicaciones desde la línea de comandos de Windows
  • Cómo permitir la respuesta de eco ICMP en Windows Server 2019
  • Cómo habilitar el Protocolo de escritorio remoto (RDP) en Windows Server 2019
  • Cómo ejecutar Linux en Windows Server 2019 con WSL

Artículos relacionados