644 palabras
3 minutos
Distrobox y Docker
Enlaces
¿Qué son?
- Docker es una plataforma para crear y gestionar contenedores aislados (pensada para aplicaciones)
- Distrobox es una herramienta que utiliza a Docker (o Podman) para crear contenedores altamente integrados con tu sistema (pensada para usuarios y desarrollo)
¿Cuándo usar cada uno?
Usa Docker si:
- Docker prefiere imágenes inmutables. Si quieres cambiar algo, modificas un Dockerfile y reconstruyes la imagen.
- Quieres desplegar una aplicación en un servidor.
- Necesitas aislar totalmente un proceso por seguridad.
- Estás trabajando con microservicios.
Usa Distrobox si:
- Distrobox fomenta contenedores mutables. Entras al contenedor y usas el gestor de paquetes de esa distribución (dnf, pacman, apt) como si fuera una máquina virtual, pero sin el consumo de recursos de una VM.
- Usas una distro “Immutable” (como Fedora Silverblue o SteamOS) y necesitas instalar herramientas de desarrollo.
- Necesitas un programa que solo está disponible en los repositorios de otra distribución.
- Quieres probar software nuevo sin “ensuciar” tu sistema base con dependencias.
Tabla comparativa - Objetivos
| Característica | Docker | Distrobox |
|---|---|---|
| Objetivo Principal | Aislar aplicaciones y microservicios. | Ejecutar herramientas de otras distros en tu PC. |
| Aislamiento | Alto (separa red, archivos y procesos). | Bajo (comparte tu carpeta personal, audio y GPU). |
| Persistencia | Los cambios se pierden si no usas volúmenes. | Persistente por defecto (puedes usar sudo apt/pacman). |
| Interfaz | Principalmente línea de comandos/servicios. | Integración total con aplicaciones gráficas (GUI). |
| Arquitectura | Es un motor de contenedores (Runtime). | Es un "wrapper" que usa Docker o Podman. |
Tabla comparativa - Consumo de recursos
| Recurso | Docker (Contenedores Estándar) | Distrobox |
|---|---|---|
| Espacio Base (Imagen) | Mínimo a Moderado. Alpine (5 MB) o Ubuntu (75 MB). | Moderado a Alto. Arch Linux puede llegar a 400 MB. |
| Persistencia de Datos | Efímero por defecto. Los cambios se pierden sin volúmenes. | Permanente por defecto. Los programas instalados se quedan en disco. |
| Ubicación en Disco | Generalmente en /var/lib/docker (requiere root). | Carpeta de usuario (~/.local/share/containers/storage). |
| Memoria RAM | Variable. Depende del aislamiento de red y procesos. | Mínimo. Casi idéntico a una aplicación nativa. |
| Procesamiento (CPU) | Casi nativo (ligero overhead por aislamiento). | Nativo. Sin capas intermedias. |
| Gráficos (GPU) | Complejo. Requiere configuración manual de drivers. | Transparente. Comparte la GPU del host automáticamente. |
| Entrada/Salida (I/O) | Ligeramente lento por el sistema de archivos por capas. | Velocidad nativa al trabajar sobre el Home del usuario. |
Ventajas y desventajas
- Distrobox
- Funciona. Para instalar una aplicación que no corre nativamente en tu sistema. Por ejemplo, Debian a menudo usa librerías muy estables pero no tan actualizadas, entonces aplicaciones como Spotify pueden no correr por falta de esa librería y, actualizarla no es una opción completamente segura.
- Requieres que se comparta todo tu sistema (configuraciones, archivos, $HOME, pantalla, llaves ssh, étc), en otras palabras, confías en lo que vivirá dentro del contenedor
- Docker
- Requieres un entorno aislado. Podrías no confiar en lo que pase dentro del contenedor (por ejemplo scripts con POCs de seguridad)
- No te importa no tener una integración tan sencilla con el SO
Instalación de Docker
Remover docker
sudo apt remove $(dpkg --get-selections docker.io docker-compose docker-doc podman-docker containerd runc | cut -f1)Instalar vía APT
# Add Docker's official GPG key:sudo apt updatesudo apt install ca-certificates curlsudo install -m 0755 -d /etc/apt/keyringssudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.ascsudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:sudo tee /etc/apt/sources.list.d/docker.sources <<EOFTypes: debURIs: https://download.docker.com/linux/debianSuites: $(. /etc/os-release && echo "$VERSION_CODENAME")Components: stableSigned-By: /etc/apt/keyrings/docker.ascEOF
sudo apt updateInstalar Docker
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginPrueba
sudo docker run hello-worldInstalación Distrobox
Instala podman y distrobox
sudo apt install podman distrobox -yEjemplo Spotify
Nota final¡Gracias por terminar de leer este artículo! uwur
— El Capitán
¿Tienes alguna duda o te gustaría comentar algo sobre este artículo?
Puedes encontrarme en:
Distrobox y Docker
https://elcaza.github.io/posts/sysadmin/distrobox_docker/