20. Cómo instalar Docker en Ubuntu Server: guía paso a paso de contenedorización

La contenedorización ha transformado el despliegue de aplicaciones al empaquetar el software en entornos aislados y ligeros que garantizan la coherencia entre distintos sistemas. Docker en Ubuntu Server es una combinación potente que simplifica este proceso y permite a los desarrolladores y administradores de sistemas crear, enviar y ejecutar aplicaciones sin problemas. Como plataforma de contenedorización líder del sector, Docker optimiza los flujos de trabajo y mejora la escalabilidad del desarrollo de aplicaciones modernas.

En esta guía, le guiaremos por los pasos para instalar Docker en Ubuntu Server y ejecutar su primera aplicación en contenedores. Tanto si es nuevo en Docker como si busca optimizar su proceso de despliegue, este tutorial le ayudará a empezar con la contenedorización en Ubuntu Server.


Artículos anteriores:

01. Introducción a Ubuntu Server – SysOSX: AI & Cloud

02. Cómo configurar su primer servidor Ubuntu: guía para principiantes – SysOSX: AI & Cloud

03. Dominio de la línea de comandos de Linux para Ubuntu Server – SysOSX: AI & Cloud

04. Gestión de usuarios y permisos en Ubuntu Server: una guía completa – SysOSX: AI & Cloud

05. Conceptos básicos de redes para Ubuntu Server: una guía completa – SysOSX: AI & Cloud

06. Instalación y gestión de software en Ubuntu Server: una guía completa – SysOSX: AI & Cloud

07.Aplicación de parches y actualización de Ubuntu Server: una guía completa – SysOSX: AI & Cloud

08. Proteja su servidor Ubuntu: pasos prácticos para reforzar y proteger – SysOSX: AI & Cloud

09. Auditoría y registro de servidores Ubuntu

10. Herramientas de monitorización del sistema para Ubuntu Server: una guía completa – SysOSX: AI & Cloud

11. Registro centralizado para servidores Ubuntu: una guía imprescindible – SysOSX: AI & Cloud

12. Auditoría y cumplimiento para Ubuntu Server: prácticas recomendadas – SysOSX: AI & Cloud

13. Configuración de su servidor Ubuntu para alojamiento y aplicaciones web: guía definitiva – SysOSX: AI & Cloud

14. Aloje varios sitios web en un solo servidor Ubuntu: consejos útiles – SysOSX: AI & Cloud

15. Gestión de almacenamiento y discos en Ubuntu Server: guía sencilla – SysOSX: AI & Cloud

16. Configuración de servicios de uso compartido de archivos en Ubuntu Server: una guía completa – SysOSX: AI & Cloud

17. Configuración de un servidor de bases de datos seguro en Ubuntu: MySQL frente a MariaDB – SysOSX: AI & Cloud

18. Cómo configurar y usar LVM en Ubuntu Server: una guía completa – SysOSX: AI & Cloud

19. Introducción a la virtualización con KVM: guía para principiantes de Ubuntu Server – SysOSX: AI & Cloud



Requisitos previos

Antes de instalar Docker, asegúrese de que su servidor Ubuntu cumpla estos requisitos:

  • Ubuntu 20.04 LTS o posterior (64 bits).
  • privilegios sudo o acceso root.
  • Conexión a internet estable para descargar paquetes.

Paso 1: Instalar Docker en Ubuntu Server

Actualizar los paquetes del sistema
sudo apt update && sudo apt upgrade -y  

Instalar las dependencias necesarias
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y  
Añadir la clave GPG oficial de Docker
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg  

Configurar el repositorio de Docker
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null  

Instalar Docker Engine
sudo apt update  
sudo apt install docker-ce docker-ce-cli containerd.io -y  
Verificar la instalación
sudo docker run hello-world  

Si tiene éxito, verá un mensaje de confirmación como el siguiente.


Paso 2: Gestionar Docker como usuario no root

De forma predeterminada, Docker requiere privilegios de sudo . Para evitar tener que escribir sudo repetidamente:

  1. Crear un grupo de Docker (si no existe): sudo groupadd docker
  2. Añada su usuario al grupo: sudo usermod -aG docker $USER
  3. Aplicar los cambios: newgrp docker

Paso 3: Ejecutar su primer contenedor

Lance un servidor web Nginx en segundos:

docker run -d -p 8080:80 --name my-nginx nginx  

  • -d: Ejecutar en modo independiente (detached).
  • -p 8080:80: Asignar el puerto 8080 del host al puerto 80 del contenedor.
  • --name: Asignar un nombre personalizado al contenedor.

Verificar el acceso:

curl http://localhost:8080  

Paso 4: Comandos esenciales de Docker

ComandoDescripción
docker psMostrar los contenedores en ejecución
docker imagesVer las imágenes descargadas
docker stop <container-id>Detener un contenedor
docker rm <container-id>Eliminar un contenedor
docker rmi <image-id>Eliminar una imagen

Paso 5: Automatizar flujos de trabajo con Docker Compose

Para aplicaciones de varios contenedores, utilice Docker Compose:

  • Instalar Docker Compose:
sudo apt install docker-compose -y
  • Cree un archivo docker-compose.yml :
version: '3'  
services:  
  web:  
    image: nginx  
    ports:  
      - "8080:80"  

  • Iniciar la pila:
docker-compose up -d

Prácticas recomendadas para Docker en Ubuntu

  • Actualizar Docker periódicamente:
sudo apt update && sudo apt upgrade docker-ce -y
  • Limpiar los recursos no utilizados:
docker system prune -a
  • Utilice imágenes oficiales de Docker Hub para mayor seguridad y fiabilidad.

Solución de problemas comunes

  • Permiso denegado: Asegúrese de que su usuario esté en el docker  grupo.
  • Conflictos de puertos: Compruebe si otros servicios están usando el mismo puerto.
  • Errores al descargar imágenes: Verifique la conectividad a internet y la ortografía del nombre de la imagen.

Docker frente a otras herramientas de contenedorización

Aunque Docker domina el panorama de la contenedorización, conocer las alternativas ayuda a elegir la herramienta adecuada para su caso de uso:

HerramientaTipoCaracterísticas claveIdeal para
DockerContenedores de aplicaciones– Enfoque en empaquetado portátil y centrado en aplicaciones<br>- Enorme ecosistema (Docker Hub)<br>- CLI y Compose sencillosDesarrolladores, microservicios, flujos de trabajo de CI/CD
LXDContenedores de sistema– Entornos completos de sistema operativo (como máquinas virtuales ligeras)<br>- Integración estrecha con LXC/Linux<br>- Gestión avanzada de recursosInfraestructura como servicio, sustitución del hipervisor
PodmanContenedores de aplicaciones– Arquitectura sin demonio<br>- Sin root por defecto<br>- CLI compatible con DockerCargas de trabajo centradas en la seguridad, computación en el borde
containerdTiempo de ejecución de contenedores– Tiempo de ejecución de bajo nivel (utilizado por Docker/Kubernetes)<br>- Diseño minimalista<br>- Enfoque en la escalabilidadClústeres de Kubernetes, despliegues a gran escala
CRI-OTiempo de ejecución de Kubernetes– Optimizado para CRI de Kubernetes<br>- Ligero y seguro<br>- Respaldado por Red HatClústeres de OpenShift/OKD, operaciones nativas de Kubernetes
Por qué Docker sigue destacando
  • Fácil para principiantes: Flujo de trabajo simplificado para el desarrollo y las pruebas de aplicaciones.
  • Portabilidad: Los contenedores se ejecutan de forma idéntica en macOS, Windows y Linux.
  • Apoyo de la comunidad: Más de 8 millones de imágenes de Docker Hub y documentación extensa.
Cuándo considerar alternativas
  • LXD: Necesita aislamiento completo del SO (por ejemplo, alojar varios servicios con usuarios distintos).
  • Podman: Prioriza la seguridad (por ejemplo, cargas de trabajo gubernamentales o sanitarias).
  • containerd/CRI-O: Crear infraestructura nativa de Kubernetes.

Conclusión

Siguiendo esta guía, ha instalado Docker en Ubuntu Server y ha desplegado su primera aplicación en contenedores. La flexibilidad de Docker lo hace indispensable para DevOps, el desarrollo nativo de la nube y los entornos híbridos. Explore funciones avanzadas como Docker Swarm o integración de Kubernetes para escalar sus cargas de trabajo en contenedores.

Referencia: Documentación oficial de Docker

¿Qué sigue? Prepárese para explorar LXD para contenedores Linux

Ahora que domina Docker para la contenedorización de aplicaciones, ¡profundicemos en el mundo de los contenedores de sistema de Linux! Esté atento para nuestra próxima guía:

“Introducción a LXD para contenedores Linux: virtualización ligera simplificada“

2 thoughts on “20. How to Install Docker on Ubuntu Server: A Step-by-Step Guide to Containerization”

Deja un comentario