Cómo Instalar y Configurar Docker Engine en AlmaLinux 10 (Paso a Paso)

Instalar Docker en AlmaLinux 10 scaled

Cómo Instalar Docker en AlmaLinux 10 Paso a Paso

Docker es una plataforma de virtualización a nivel de sistema operativo que permite desplegar, probar y empaquetar aplicaciones dentro de entornos aislados denominados contenedores. A diferencia de las máquinas virtuales tradicionales —que requieren hipervisores y la emulación de un sistema operativo invitado completo—, los contenedores comparten el mismo Kernel del sistema anfitrión, ofreciendo tiempos de arranque en milisegundos y un consumo de recursos sumamente eficiente.

Si estás buscando cómo instalar Docker en almalinux 10, en esta guía paso a paso aprenderás a configurar el repositorio oficial de Docker Engine, gestionar el servicio con systemctl, habilitar permisos para un usuario no root y ajustar las políticas de seguridad en SELinux y firewalld

Guía Completa para Instalar Docker en AlmaLinux 10

Requisitos Previos

Antes de proceder con el despliegue de Docker Engine, confirma que tu entorno cumple con los siguientes requerimientos:

  • Un servidor o máquina virtual con AlmaLinux 10 (arquitectura x86_64, aarch64 o s390x).
  • Acceso a la terminal con privilegios de administrador (root) o acceso vía sudo.
  • Conexión activa a Internet para la descarga de paquetes.

🐳 Docker en Otras Distribuciones

Paso 1: Limpiar Instalaciones Previas o Conflictivas

AlmaLinux y otras distribuciones de la familia Enterprise Linux pueden incluir paquetes nativos como Podman o revisiones antiguas de Docker (docker-client, docker-common). Para evitar conflictos antes de instalar docker en almalinux 10, remueve cualquier rastro previo:

Bash
sudo dnf remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine podman buildah

Paso 2: Configurar el Repositorio Oficial de Docker

Aunque la base de repositorios de AlmaLinux incluye herramientas de contenedorización como Podman, para disponer de la versión más reciente y estable es necesario agregar el repositorio oficial de Docker CE.

1. Instalar las utilidades básicas de DNF

Asegúrate de contar con el paquete dnf-plugins-core:

Bash
sudo dnf install dnf-plugins-core -y

2. Agregar el repositorio de Docker CE

Añade la fuente de descarga oficial para la rama Enterprise/CentOS:

Bash
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

3. Actualizar la caché de paquetes

Refresca los metadatos de DNF para incorporar los nuevos paquetes del repositorio de Docker:

Bash
sudo dnf makecache

Paso 3: Instalación de Docker Engine y Docker Compose

Para completar el proceso para instalar docker en almalinux 10, ejecutaremos la instalación de la suite completa de contenedores, que abarca el demonio principal (dockerd), la interfaz de línea de comandos (CLI), el runtime containerd y el complemento oficial para Docker Compose v2.

Ejecuta el siguiente comando:

Bash
sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

Paso 4: Iniciar y Habilitar el Demonio de Docker

Una vez finalizada la instalación de los paquetes, el servicio de Docker no se inicia automáticamente por defecto. Debes arrancarlo y configurarlo para que inicie junto con el sistema operativo mediante systemctl.

1. Habilitar y arrancar el servicio

Bash
sudo systemctl enable --now docker

(El parámetro --now habilita el inicio automático en el arranque del sistema y arranca el demonio inmediatamente en un solo paso).

2. Verificar el estado del servicio

Confirma que el demonio de Docker está ejecutándose correctamente:

Bash
sudo systemctl status docker

Deberías obtener una salida similar a esta en tu terminal:

Bash
● docker.service - Docker Application Container Engine
     Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; preset: disabled)
    Drop-In: /run/systemd/system/service.d
             └─zzz-lxc-service.conf
     Active: active (running) since Mon 2026-08-31 03:03:05 UTC; 3min 16s ago
 Invocation: c8f43dc382284b22a7ba91640abbff52
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 3981 (dockerd)
      Tasks: 8
     Memory: 140.5M (peak: 142.8M)
        CPU: 402ms
     CGroup: /system.slice/docker.service
             └─3981 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

instalar docker en almalinux 10

Paso 5: Configurar Docker para Ejecutarse sin Privilegios de Root (Opcional)

Por defecto, tras instalar docker en almalinux 10, el demonio de Docker se enlaza a un socket UNIX que pertenece al usuario root. Esto significa que cualquier comando dictado mediante docker requiere elevación de privilegios sudo.

Para permitir que un usuario estándar de tu sistema administre contenedores sin anteponer sudo, agrégalo al grupo de seguridad docker.

1. Crear el usuario (si aún no existe)

Bash
sudo useradd -m -s /bin/bash usuario_dev
sudo passwd usuario_dev

2. Añadir el usuario al grupo docker

Bash
sudo usermod -aG docker usuario_dev

3. Aplicar los cambios de grupo

Para que la actualización de grupos surta efecto en la sesión actual, el usuario puede ejecutar:

Bash
newgrp docker

Paso 6: Verificación de la Instalación

Comprueba la correcta comunicación entre el cliente CLI de Docker, el demonio dockerd y el registro de imágenes ejecutando el contenedor oficial de pruebas:

Bash
docker run hello-world

Si todo funciona según lo previsto, la terminal descargará la imagen ligera y desplegará un mensaje de confirmación:

Bash
Hello from Docker!
This message shows that your installation appears to be working correctly.
...

Verificar la versión de Docker y Docker Compose

Puedes consultar las versiones exactas instaladas en AlmaLinux 10 ejecutando:

Bash
docker --version
docker compose version

Paso 7: Configuración de Firewall (firewalld) y SELinux

En sistemas empresariales como AlmaLinux 10, firewalld y SELinux vienen activos en modo estricto (Enforcing).

1. Permitir tráfico de red en firewalld

Docker manipula directamente las reglas de iptables/nftables para gestionar el reenvío de puertos. Si tus contenedores exponen servicios a la red exterior (como puertos 80, 443 o 3306), habilita la zona o los puertos en firewalld:

Bash
sudo firewall-cmd --zone=public --add-masquerade --permanent
sudo firewall-cmd --reload

2. Consideraciones sobre SELinux y Volúmenes

Cuando montes directorios del sistema de archivos local de AlmaLinux hacia un contenedor usando volúmenes (-v o bind mounts), debes indicarle a SELinux que modifique la etiqueta de seguridad añadiendo la bandera :z o :Z:

Bash
docker run -d -v /var/www/html:/usr/share/nginx/html:z -p 80:80 nginx

Preguntas Frecuentes (FAQ)

¿Cuál es la diferencia entre Podman y Docker en AlmaLinux 10?

Podman es la herramienta de contenedorización incluida nativamente en la distribución, caracterizada por ser daemonless (sin un demonio central residente en memoria) y orientada al uso sin privilegios root por defecto. Docker utiliza la arquitectura tradicional cliente-servidor basada en el demonio dockerd y cuenta con un ecosistema amplio de integraciones de CI/CD.

¿Cómo se instala el complemento Docker Compose moderno?

En versiones actuales no se recomienda descargar el binario docker-compose de manera independiente vía curl. El estándar actual es instalar el paquete oficial docker-compose-plugin desde el repositorio oficial de Docker y utilizar el comando unificado docker compose

¿Qué debo hacer si obtengo el error "Cannot connect to the Docker daemon"?

Este error indica que el servicio de Docker no está iniciado o que tu usuario no tiene permisos suficientes sobre el socket UNIX. Verifica el estado del servicio con sudo systemctl status docker o asegúrate de haber agregado tu usuario al grupo docker

Conclusión

¡Enhorabuena! Has finalizado el procedimiento para instalar docker en almalinux 10 con éxito. Tu servidor ahora está listo para desplegar arquitecturas basadas en microservicios, entornos de desarrollo aislados y aplicaciones en producción con un alto nivel de portabilidad.

Publicaciones Similares