15%

Ahorra 15%<\/span> en todos los servicios de hosting

Pon a prueba tus habilidades y obtén Descuento<\/span> en cualquier plan de hosting

Usa el código:

Skills
Comenzar
31.10.2024
1 +1

Cómo Instalar Docker en CentOS: Guía Completa Paso a Paso

Docker ha cambiado fundamentalmente la forma en que los desarrolladores construyen, envían y ejecutan aplicaciones. Al empaquetar software en contenedores ligeros y portátiles, Docker elimina el clásico problema de “funciona en mi máquina” y simplifica drásticamente tanto los flujos de trabajo de desarrollo como los despliegues en producción. Si estás ejecutando CentOS y deseas aprovechar el poder de la containerización, esta guía completa te guía a través de cada paso — desde una actualización del sistema nuevo hasta la configuración avanzada.

Ya sea que estés desplegando una única aplicación web u orquestando entornos complejos de múltiples contenedores, instalar Docker correctamente en CentOS es el primer paso crítico.

Requisitos previos

Antes de comenzar, asegúrate de tener:

  • Un servidor CentOS 7 o CentOS 8 (físico o virtual)
  • Una cuenta de usuario con privilegios sudo
  • Una conexión a Internet estable
  • Familiaridad básica con la línea de comandos de Linux

> Consejo profesional: Para la mejor experiencia con Docker, considera ejecutarlo en un plan de VPS Hosting. Un servidor privado virtual te proporciona acceso root completo, recursos dedicados y la flexibilidad para ejecutar contenedores sin las restricciones de entornos compartidos.

Paso 1: Actualizar el sistema

Antes de instalar cualquier software nuevo, siempre actualiza los paquetes existentes para garantizar compatibilidad y seguridad. Ejecuta el siguiente comando:

sudo yum update -y

Este comando actualiza todos los paquetes instalados a sus versiones más recientes. Puede tomar algunos minutos dependiendo de cuántas actualizaciones estén pendientes. Un sistema completamente actualizado reduce el riesgo de conflictos de dependencias durante la instalación de Docker.

Paso 2: Instalar dependencias requeridas

Docker depende de varios paquetes a nivel del sistema para funcionar correctamente. Instálalos con un único comando:

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

Aquí está lo que hace cada paquete:

PaquetePropósito
yum-utilsProporciona la utilidad yum-config-manager para gestionar repositorios
device-mapper-persistent-dataRequerido para el controlador de almacenamiento device mapper de Docker
lvm2Soporte del Administrador de volúmenes lógicos para el backend de almacenamiento de Docker

Estas dependencias garantizan que Docker pueda gestionar el almacenamiento de contenedores de manera eficiente y confiable en tu sistema CentOS.

Paso 3: Agregar el repositorio oficial de Docker

Los repositorios de paquetes predeterminados de CentOS no incluyen los últimos paquetes de Docker. Necesitas agregar el repositorio oficial de Docker para obtener la versión más actual y estable:

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

Este comando agrega el repositorio oficial de CentOS de Docker a la lista de repositorios de tu sistema. Usar la fuente oficial garantiza que recibas paquetes de Docker genuinos y actualizados directamente de Docker Inc., en lugar de versiones potencialmente desactualizadas de espejos de terceros.

Puedes verificar que el repositorio se agregó correctamente listando tus repositorios configurados:

sudo yum repolist

Paso 4: Instalar Docker Engine

Con el repositorio en su lugar, instalar Docker es sencillo:

sudo yum install -y docker-ce docker-ce-cli containerd.io

> Nota: Se recomienda instalar también docker-ce-cli (la interfaz de línea de comandos de Docker) y containerd.io (el tiempo de ejecución del contenedor) junto con el motor principal para una configuración completa y lista para producción.

Esto instala la Docker Community Edition (CE) — la versión gratuita y de código abierto de Docker que es perfecta tanto para cargas de trabajo de desarrollo como de producción.

Paso 5: Iniciar y habilitar el servicio Docker

Instalar Docker no lo inicia automáticamente. Necesitas iniciar el daemon de Docker y configurarlo para que se lance automáticamente al reiniciar el sistema:

sudo systemctl start docker
sudo systemctl enable docker
    systemctl start docker — Inicia el servicio Docker inmediatamente
    systemctl enable docker — Configura Docker para que se inicie automáticamente cada vez que el servidor se reinicia
    
    Verificar el estado del servicio
    Confirma que Docker se está ejecutando correctamente:
    sudo systemctl status docker
    Deberías ver una salida indicando que el servicio está activo (en ejecución). Si el estado muestra algún error, revisa los registros del sistema con journalctl -u docker para obtener detalles de solución de problemas.
    Paso 6: Verificar la instalación de Docker
    Ejecuta la prueba integrada de Docker para confirmar que todo funciona como se espera:
    sudo docker run hello-world
    Este comando hace lo siguiente:
    
    Se comunica con el registro de Docker Hub
    Descarga la imagen de prueba ligera hello-world
  • Crea un nuevo contenedor a partir de esa imagen
  • Ejecuta el contenedor, que imprime un mensaje de confirmación
  • Si tu instalación es exitosa, verás una salida que comienza con:

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

    Felicidades — Docker ahora está completamente instalado y operativo en tu servidor CentOS.

    Paso 7: Configurar Docker para usuarios sin privilegios de root (Opcional pero recomendado)

    Por defecto, los comandos de Docker requieren sudo (privilegios de root). Para seguridad y conveniencia en entornos de desarrollo, puedes permitir que usuarios específicos sin privilegios de root ejecuten comandos de Docker agregándolos al grupo docker.

    Crear el grupo Docker

    En la mayoría de los casos, este grupo se crea automáticamente durante la instalación. Si no, créalo manualmente:

    sudo groupadd docker

    Agregar tu usuario al grupo Docker

    Reemplaza your_username con el nombre de usuario de Linux real:

    sudo usermod -aG docker your_username

    Aplicar los cambios

    Cierra sesión e inicia sesión nuevamente para actualizar tu pertenencia al grupo. Alternativamente, activa el cambio en la sesión actual:

    newgrp docker

    Probar sin Sudo

    docker run hello-world

    Si esto se ejecuta sin sudo y sin un error de permiso, la configuración está funcionando correctamente.

    > Advertencia de seguridad: El grupo docker otorga privilegios equivalentes al usuario root. Solo agrega usuarios de confianza a este grupo en entornos de producción.

    Paso 8: Referencia de comandos esenciales de Docker

    Una vez que Docker se está ejecutando, aquí están los comandos más importantes que usarás diariamente:

    Gestión de contenedores

    # List all running containers
    docker ps
    
    # List all containers (including stopped ones)
    docker ps -a
    
    # Start a stopped container
    docker start container_id
    
    # Stop a running container
    docker stop container_id
    
    # Remove a container
    docker rm container_id
    
    # Remove all stopped containers at once
    docker container prune

    Gestión de imágenes

    # List all locally stored images
    docker images
    
    # Pull an image from Docker Hub
    docker pull image_name
    
    # Pull a specific version/tag
    docker pull image_name:tag
    
    # Remove a local image
    docker rmi image_name
    
    # Remove all unused images
    docker image prune -a

    Ejecutar contenedores

    # Run a container interactively
    docker run -it image_name /bin/bash
    
    # Run a container in detached (background) mode
    docker run -d image_name
    
    # Run a container with port mapping
    docker run -d -p 8080:80 image_name
    
    # Run a container with a custom name
    docker run -d --name my_container image_name

    Ver registros y estadísticas

    # View container logs
    docker logs container_id
    
    # Follow live log output
    docker logs -f container_id
    
    # View real-time resource usage
    docker stats

    Paso 9: Confirmar que Docker se inicia al arrancar

    Docker ya debería estar configurado para iniciarse al arrancar después de ejecutar systemctl enable docker. Para verificar o volver a habilitar este comportamiento:

    sudo systemctl enable docker

    Para deshabilitar el inicio automático (por ejemplo, en una máquina de desarrollo donde no siempre necesitas que Docker se ejecute):

    sudo systemctl disable docker

    Paso 10: Configuración avanzada (Opcional)

    Instalar Docker Compose

    Docker Compose es una herramienta esencial para definir y gestionar aplicaciones de múltiples contenedores usando un archivo de configuración YAML simple. Instala la última versión estable:

    sudo curl -L "https://github.com/docker/compose/releases/download/v2.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    sudo chmod +x /usr/local/bin/docker-compose

    Verifica la instalación:

    docker-compose --version

    Con Docker Compose, puedes definir pilas de aplicaciones completas — servidores web, bases de datos, cachés — en un único archivo docker-compose.yml e iniciarlas todas con un comando: docker-compose up -d.

    Configurar el daemon de Docker

    Puedes personalizar el comportamiento de Docker editando (o creando) el archivo de configuración del daemon:

    sudo nano /etc/docker/daemon.json

    Un ejemplo de configuración común:

    {
      "log-driver": "json-file",
      "log-opts": {
        "max-size": "10m",
        "max-file": "3"
      },
      "storage-driver": "overlay2",
      "default-address-pools": [
        {"base": "172.17.0.0/16", "size": 24}
      ]
    }

    Después de editar la configuración del daemon, reinicia Docker para aplicar los cambios:

    sudo systemctl restart docker

    Las configuraciones comunes del daemon que puedes configurar incluyen:

    • Controlador de registros y rotación — Evita que los registros de contenedores consuman todo el espacio en disco
    • Controlador de almacenamientooverlay2 es el controlador recomendado para CentOS
    • Configuración de DNS — Establece servidores DNS personalizados para contenedores
    • Espejos de registro — Acelera las descargas de imágenes con espejos locales

    Configurar reglas de firewall (CentOS 7)

    Si estás ejecutando firewalld, es posible que necesites permitir el tráfico de red de Docker:

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

    Elegir el entorno de alojamiento correcto para Docker

    Ejecutar Docker en producción requiere un entorno de servidor confiable y de alto rendimiento. Aquí están las mejores opciones dependiendo de tu caso de uso:

    • VPS Hosting — Ideal para la mayoría de despliegues de Docker. Acceso root completo, recursos escalables y precios rentables hacen que VPS sea la opción preferida para aplicaciones containerizadas.
    • Servidores dedicados — Mejor para entornos de producción de alto tráfico o cuando necesitas máximo rendimiento de CPU, RAM y almacenamiento para ejecutar docenas de contenedores simultáneamente.
    • GPU Hosting — Perfecto para cargas de trabajo de IA/ML ejecutándose dentro de contenedores Docker que requieren aceleración GPU para entrenamiento o inferencia de modelos.
    • VPS con cPanel — Si necesitas Docker junto con un panel de control fácil de usar para gestionar sitios web y correo electrónico, esta combinación ofrece lo mejor de ambos mundos.

    Solución de problemas comunes de Docker en CentOS

    El daemon de Docker no se inicia

    Verifica los registros del sistema para obtener detalles de errores:

    journalctl -u docker --no-pager | tail -50

    Errores de permiso denegado

    Si ves Got permission denied while trying to connect to the Docker daemon socket, asegúrate de que tu usuario esté en el grupo docker y de que hayas cerrado sesión e iniciado sesión nuevamente.

    No se pueden descargar imágenes

    Verifica que tu servidor tenga acceso a Internet saliente y que DNS se esté resolviendo correctamente:

    curl -I https://registry-1.docker.io

    Problemas de red de contenedores

    Reinicia Docker para reinicializar los puentes de red:

    sudo systemctl restart docker

    Conclusión

    Ahora has instalado exitosamente Docker en CentOS y tienes una base sólida para trabajar con contenedores. Aquí hay un resumen rápido de lo que se cubrió:

    1. ✅ Actualizar el sistema e instalar dependencias
    2. ✅ Agregar el repositorio oficial de Docker
    3. ✅ Instalar Docker CE y verificar la instalación
    15%

    Ahorra 15%<\/span> en todos los servicios de hosting

    Pon a prueba tus habilidades y obtén Descuento<\/span> en cualquier plan de hosting

    Usa el código:

    Skills
    Comenzar