paint-brush
Cómo ejecutar contenedores Docker Linux de forma nativa en Windowspor@avinashsingh
26,914 lecturas
26,914 lecturas

Cómo ejecutar contenedores Docker Linux de forma nativa en Windows

por Avinash3m2020/06/30
Read on Terminal Reader
Read this story w/o Javascript

Demasiado Largo; Para Leer

Windows Subsystem for Linux (WSL) 2 presenta un cambio arquitectónico significativo, ya que es un kernel de Linux completo creado por Microsoft, lo que permite que los contenedores de Linux se ejecuten de forma nativa sin emulación. Con WSL2, Docker puede ejecutarse en su flujo completo en Windows y puede usar imágenes de Docker creadas para Linux. El lanzamiento público de WSL 2 debería llegar a fines de mayo. La primera vez que inicie una distribución de Linux recién instalada, se abrirá una ventana de la consola y se le pedirá uno o dos minutos para descomprimir los archivos y almacenarlos en su PC.

Company Mentioned

Mention Thumbnail

Coin Mentioned

Mention Thumbnail
featured image - Cómo ejecutar contenedores Docker Linux de forma nativa en Windows
Avinash HackerNoon profile picture

Con Docker Desktop ejecutándose en WSL 2, los usuarios pueden aprovechar los espacios de trabajo de Linux y evitar tener que mantener scripts de compilación de Linux y Windows.

¿Cómo es diferente?

Las aplicaciones que se ejecutan en la ventana acoplable se limitan a aplicaciones que son compatibles de forma nativa con el sistema operativo host.

En otras palabras, Docker para Windows solo puede alojar aplicaciones de Windows dentro de contenedores de Docker, y Docker en Linux solo admite aplicaciones de Linux.

Docker en Windows: Desafíos

Docker en Windows siempre ha sido un desafío, antes, cuando usé Docker por primera vez en 2017, tenía las siguientes limitaciones:

Tenía un requisito estricto de las versiones de Windows compatibles, varios contenedores no estaban disponibles para la plataforma de Windows. El soporte para los sistemas de orquestación como Kubernates y Mesos no estaba completo.

La mayor parte de esto estaba relacionado con el hecho de que Docker se escribió y creó originalmente para Linux.

Hubo algunas soluciones para que funcionara en WSL (Subsistema de Windows para Linux), pero eran complicadas e incompletas.

Windows Subsystem for Linux (WSL) 2 presenta un cambio arquitectónico significativo, ya que es un kernel de Linux completo creado por Microsoft , lo que permite que los contenedores de Linux se ejecuten de forma nativa sin emulación.

A partir de WSL2, Docker puede ejecutarse en su flujo completo en Windows y puede usar imágenes creadas para Linux.

El siguiente tutorial lo ayudará a instalar Docker en su WSL en Windows.

requisitos previos

Antes de instalar el backend Docker Desktop WSL 2, debe completar los siguientes pasos:

Instale Windows 10, versión 2004 o superior (compilación 19041 o superior).

Al momento de escribir este artículo, para actualizar a Windows 10 versión 2004 (Build 19041), deberá unirse al programa Windows Insider y seleccionar el anillo "Release Preview". El lanzamiento público debería llegar a fines de mayo.

Habilite la función WSL 2 en Windows.

Abra PowerShell como administrador y ejecute:

 dism.exe /online /enable-feature /featurename :Microsoft-Windows-Subsystem-Linux /all /norestart

Habilite el componente opcional 'Plataforma de máquina virtual'

Abra PowerShell como administrador y ejecute:

 dism.exe /online /enable-feature /featurename :VirtualMachinePlatform /all /norestart

Reinicie su máquina en este punto para completar la instalación de WSL y actualizar a WSL 2.

Instale el paquete del kernel de Linux necesario para actualizar la versión de WSL a WSL 2.

Los detalles del kernel están en el siguiente enlace,

https://docs.microsoft.com/en-us/windows/wsl/wsl2-kernel

El instalador está en,

https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

Establezca WSL 2 como su versión predeterminada

Abra PowerShell como administrador y ejecute:

 wsl -- set - default -version 2

Instale la distribución de Linux que prefiera

Abra Microsoft Store y seleccione su distribución de Linux favorita.

Algunos de los más populares están a continuación:

La primera vez que inicie una distribución de Linux recién instalada, se abrirá una ventana de la consola y se le pedirá que espere uno o dos minutos para que los archivos se descompriman y se almacenen en su PC. Todos los lanzamientos futuros deberían tomar menos de un segundo.

A continuación, deberá crear una cuenta de usuario y una contraseña para su nueva distribución de Linux.

Compruebe la lista de distribuciones de Linux,

 wsl -l -v

Configurar la distribución para usar WSL 2

 wsl -- set - version <distribution name> <versionNumber>

Instalación de Docker Desktop

Descargue Docker Desktop Stable 2.3.0.2 o una versión posterior .

Asegúrese de seleccionar a continuación durante la instalación,

Ejecute Docker Desktop.

Eso es todo.

Ahora ha instalado Docker en WSL 2.

Verifíquelo ejecutándolo en la terminal de Ubuntu/Linux.

Configurar límites de contenedores de Docker en WSL2

WSL 2 también nos permite configurar la memoria y los procesadores en la configuración a continuación, esto se puede controlar en caso de que desee limitar los recursos utilizados por sus contenedores docker.

Agregar

 %UserProfile%\.wslconfig
archivo para ajustar la configuración de WSL2

 [wsl2] kernel =<path> # An absolute Windows path to a custom Linux kernel. memory =<size> # How much memory to assign to the WSL2 VM. processors =<number> # How many processors to assign to t he WSL2 VM. swap =<size> # How much swap space to add to the WSL2 VM. 0 for no swap file. swapFile =<path> # An absolute Windows path to the swap vhd. localhostForwarding =<bool> # Boolean specifying if ports bound to wildcard or localhost in the WSL2 VM should be connectable from the host via localhost:port (default true ).

Docker de prueba: Introducción

De la documentación oficial de Docker, probemos la guía de inicio.

 git clone https ://github.com/docker/getting- started .git

Ejecute los siguientes comandos para crear la imagen de la ventana acoplable,

Tenga en cuenta que estamos ejecutando esto en la terminal WSL de su distribución de Linux.

Correr

 docker run -d -p 80 : 80 --name docker-tutorial docker101tutorial

Abra el navegador y escriba http://localhost/

Debería ver la guía de inicio.

Eso es todo amigos, hemos instalado y probado con éxito Docker en WSL2.

Probaré más funciones de Docker en WSL2 y actualizaré el artículo, pero los pasos anteriores deberían darle una ventaja para usar imágenes de Linux en Docker para Windows.

Publicado anteriormente en https://medium.com/codingfullstack/run-docker-linux-containers-natively-on-windows-subsystem-for-linux-4517584c86f5