Índice
- Sección primera (básico):
- Docker en Windows. Apartado I: Instalar WSL2 (y Docker).
- Docker en Windows. Apartado II: Instalar Docker en Windows 11.
- Sección segunda (avanzado):
- Docker en Windows. Apartado III: Confianza entre entornos.
- Docker en Windows. Apartado IV: Configurar conexión entre Docker Windows y Docker WSL.
- Docker en Windows. Apartado V: Instalar Portainer en el entorno WSL.
- Docker en Windows. Apartado VI: Apuntes.
Si has empezado a leer es porque te has encontrado con la necesidad de poner en funcionamiento la virtualización para contenedores Windows y te has tropezado con que no podías utilizar contenedores Linux. Además, si te instalas la virtualización para contenedores Linux te pasará que no puedes utilizar la virtualización Hyper-V de Windows.
En esta sección crearemos un entorno en el cual podamos lanzar contenedores Windows y Linux.
Hemos dividido esta sección en dos:
- En la primera (básica), hacemos una instalación de WSL2 y Docker (en Windows y WSL2).
- En la segunda (avanzada), el resto de los apartados, en los cuales realizamos la configuración de ambos entornos Docker y los conectamos, lo cual incluye poner en funcionamiento una CA para usos internos.
Apartado I. Instalar WSL2 (y Docker)
Se llama WSL al Subsistema Linux en Windows, una virtualización capaz de tener funcionando un sistema Linux dentro de un sistema Windows.
Pon atención a la consola que estás utilizando, ya que te encontrarás con tres casos:
- Consola CMD.
- Consola Powershell.
- Consola Linux.
Por defecto utilizaremos la consola Powershell.
Comprobar instalación de WSL2
Primero intentaremos actualizar WSL a la versión 2. Inicia una terminal Powershell y ejecuta:
wsl --update
Si recibes un error porque no tienes habilitado el subsistema, pasa al siguiente apartado, si se ha actualizado, verifica las distribuciones instaladas:
wsl --list --verbose
Si ves que la distribución de Ubuntu está en estado Stopped, puedes ponerla en ejecución con:
wsl -d Ubuntu
Vuelve al entorno Powershell, para ello debes salir de la terminal de Ubuntu, ejecuta:
exit
Instalar WSL2 y Ubuntu en el caso de que no esté instalado
Si no está instalado WSL, debes habilitar la característica WSL, para ello ejecuta en la consola PowerShell:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
Es aconsejable que una vez terminada la instalación (puede tardar bastante) se haga un reinicio del ordenador.
Después de reiniciar, habilita el hipervisor:
bcdedit /set hypervisorlaunchtype auto
... y vuelve a reiniciar.
Una vez activada la característica de virtualización WSL, pasamos a instalar una distribución de Linux (Ubuntu):
wsl --install -d Ubuntu
Esto descargará, instalará y configurará Ubuntu en el entorno WSL. Para finalizar te pedirá los datos para dar de alta un usuario y su nueva contraseña para el entorno de la distribución instalada.
Configuración de WSL2
Ahora vamos a establecer WSL2 como predeterminado. Ejecuta:
wsl --set-default-version 2
Inicia una sesión en Ubuntu:
wsl -d Ubuntu
Revisamos que systemd
está habilitado inspeccionando el archivo correspondiente:
cat /etc/wsl.conf
El comando nos devolverá el contenido del archivo, que debe ser el siguiente:
[boot]
systemd=true
Si el contenido no es ese, lo editamos con:
sudo nano /etc/wsl.conf
... y lo actualizamos.
Para guardar los cambios salimos con Ctrl+X (te pedirá confirmar el guardado de datos).
El paso final en la configuración de la distribución es reiniciarla, para ello primero salimos:
exit
y, acto seguido paramos la distro. Tienes diferentes maneras de parar la máquina virtual de la distribución Ubuntu:
- Una vez realizado el ‘exit’: esperar al menos 8 segundos, después de este lapso de tiempo se habrá parado la distribución.
- Realizar un apagado de la distribución:
wsl --terminate Ubuntu
- Realizar el shutdown del subsistema WSL:
wsl --shutdown
Esta primera vez optamos por utilizar el shutdown de WSL.
Configurar el consumo de recursos de WSL
Opcionalmente podemos decidir la configuración de la virtualización.
En la consola CMD, crea el archivo:
notepad %UserProfile%\.wslconfig
Y añádele el contenido:
[wsl2]
memory=8GB
processors=4
swap=2GB
Para cambiar los parámetros a tu gusto tienes un enlace a Microsoft Learn al final del artículo.
Instalación de Docker en Ubuntu
Para continuar abrimos una consola Powershell.
A) Verificar uso de systemd en Ubuntu
Accedemos a la terminal de Ubuntu:
wsl -d Ubuntu
Para verificar que el inicio está apuntando a systemd lanzamos el siguiente comando:
stat /sbin/init | grep "systemd"
nos debería dar como resultado:
File: /sbin/init -> ../lib/systemd/systemd
B) Instalar Docker en Ubuntu
Ahora vamos a instalar docker en la distribución Ubuntu (extraído de la web de Docker):
sudo apt update && sudo apt upgrade -y
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo usermod -aG docker $USER
Comprobamos que se ha instalado:
docker version
docker compose version
C) Configuración del firewall en Ubuntu
El siguiente paso es configurar el firewall en la distribución Ubuntu:
sudo update-alternatives --config iptables
y seleccionamos la opción '1' que corresponde a iptables-legacy
.
Enlaces
- Docker: https://www.docker.com/ , https://docs.docker.com/engine/install/ubuntu/
- Configuración WSL: Advanced settings configuration in WSL | Microsoft Learn
Siguiente artículo:
- Docker en Windows. Apartado II: Instalar Docker en Windows 11.
Top comments (0)