Instalar Docker en WSL sin Docker Desktop
Docker

Instalar Docker en WSL sin Docker Desktop

🚀 Instalar Docker en WSL sin Docker Desktop

Esta guía te mostrará cómo instalar Docker en WSL (Windows Subsystem for Linux) sin necesidad de Docker Desktop.


1. Verificar que WSL2 esté activado

Si aún no tienes WSL habilitado, usa este comando en PowerShell (Administrador):

wsl --install

Si ya tienes WSL1 y quieres actualizar a WSL2, usa:

wsl --set-version Ubuntu 2

Verifica que tu distribución está en WSL2 con:

wsl --list --verbose

2. Instalar Docker en Ubuntu (WSL)

Abre una terminal en WSL (Ubuntu) y ejecuta:

sudo apt update && sudo apt upgrade -y

Instala las dependencias necesarias:

sudo apt install -y ca-certificates curl gnupg lsb-release

Agrega la clave GPG de Docker:

sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo tee /etc/apt/keyrings/docker.asc > /dev/null
sudo chmod a+r /etc/apt/keyrings/docker.asc

Agrega el repositorio oficial de Docker:

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Actualiza el índice de paquetes e instala Docker:

sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Verifica que Docker está instalado:

docker --version

3. Configurar Docker para ejecutarse en WSL

🔹 Habilitar y ejecutar el servicio de Docker en WSL

Ejecuta el servicio de Docker manualmente:

sudo service docker start

Para evitar escribir este comando cada vez que inicies WSL, agrégalo al archivo .bashrc o .zshrc:

echo "sudo service docker start" >> ~/.bashrc
source ~/.bashrc

Verifica que Docker está funcionando:

sudo service docker status

4. Permitir el uso de Docker sin sudo

Agrega tu usuario al grupo docker:

sudo usermod -aG docker $USER
newgrp docker

Verifica que puedes ejecutar Docker sin sudo:

docker run hello-world

5. (Opcional) Hacer que Docker se inicie automáticamente con WSL

Para evitar iniciar Docker manualmente cada vez que abras WSL:

  1. Crea un archivo de configuración para WSL en ~/.wslconfig:

    notepad $env:USERPROFILE\.wslconfig
  2. Agrega lo siguiente:

    [boot]
    systemd=true
  3. Edita la configuración de WSL en /etc/wsl.conf dentro de WSL:

    sudo nano /etc/wsl.conf

    Agrega lo siguiente:

    [boot]
    command="service docker start"
  4. Guarda los cambios y reinicia WSL:

    wsl --shutdown

🎯 ¡Listo! Docker funcionando en WSL sin Docker Desktop

Ahora tienes Docker corriendo en WSL sin necesidad de Docker Desktop. 🚀

Si tienes dudas o quieres integrar más funcionalidades, ¡déjamelo saber en los comentarios! 💪