Script de instalación automatizada de Docker Engine para GNU/Linux, con detección automática del gestor de paquetes, configuración de log rotation y usuario non-root siguiendo las recomendaciones oficiales de Docker.
El script detecta el gestor de paquetes presente en el sistema (no una lista fija de distros), por lo que cubre automáticamente cualquier derivada sin necesidad de mantenimiento adicional:
| Familia | Gestor | Distros cubiertas |
|---|---|---|
| Debian-based | apt |
Ubuntu, Debian, Linux Mint, Pop!_OS, Raspberry Pi OS, y cualquier derivada vía ID_LIKE |
| RHEL-based | dnf |
Fedora, CentOS, RHEL, Rocky Linux, AlmaLinux |
| SUSE-based | zypper |
openSUSE Leap, SLES |
| Arch-based | pacman |
Arch Linux, CachyOS, Manjaro, y derivadas |
No soportadas: Alpine Linux, NixOS, Gentoo, Void Linux, Slackware (el script las rechaza con un mensaje de error explícito en vez de fallar a medias).
curl -O https://raw.githubusercontent.com/TrastoRacing/docker-setup-script/main/install_docker.sh
chmod +x install_docker.sh
sudo ./install_docker.sh
newgrp dockerImportante: el script requiere privilegios de root. Debe ejecutarse como
sudo ./install_docker.sh(recomendado, añade tu usuario real al grupodocker) o comorootdirecto (en cuyo caso deberás añadir manualmente al usuario real después).
Verificar la instalación:
docker --version
docker compose version
docker run hello-world- Detección de distro vía gestor de paquetes presente (
pacman/apt-get/dnf/zypper), con sub-detección adicional en APT/DNF para elegir el repositorio oficial correcto de Docker (Ubuntu vs Debian, Fedora vs CentOS/RHEL). - Limpieza de paquetes conflictivos (
docker.io,docker-composeantiguo,podman-docker, etc.) antes de instalar, siguiendo la recomendación oficial de Docker. - Instalación de Docker Engine, CLI, containerd, Buildx y Compose v2 desde el repositorio oficial correspondiente a cada familia.
- Configuración de log rotation (
json-file, máx. 10MB x 3 archivos) en/etc/docker/daemon.json, con backup automático si ya existía una configuración previa. - Habilitación del servicio vía
systemd(systemctl enable --now docker containerd). - Usuario non-root: añade al grupo
dockeral usuario real que invocósudo(vía$SUDO_USER), no aroot, para poder usardockersinsudoen cada comando.
Si Docker ya está instalado, el script lo detecta y termina sin hacer cambios:
⚠ Docker ya está instalado: Docker version 27.x.x
Para reinstalar, elimina primero los paquetes existentes.
El script usa pacman -Syu (no -Sy) antes de instalar, siguiendo la recomendación explícita de la ArchWiki para evitar actualizaciones parciales que puedan romper dependencias. En estas distros, Docker se instala desde el repositorio oficial extra (o cachyos-extra en CachyOS), no desde un repositorio propio de Docker Inc.
Ver LICENSE.