Estás en el Módulo 2 de 7: Ir al índice completo del Curso Docker: El Laboratorio
En el Módulo 1 de nuestro curso, sentamos las bases teóricas. Ya entiendes que un contenedor es una taquilla de software eficiente y que Portainer será nuestra sala de control.
Ahora es el momento de construir el motor. En este taller práctico, vamos a instalar Docker Engine en tu servidor Ubuntu. Olvídate de los instaladores automáticos y las tiendas de aplicaciones; vamos a hacerlo como en los proyectos industriales: con una instalación limpia, controlada y optimizada desde el repositorio oficial de Docker.
Preparación: ¿Por qué usar el Repositorio Oficial de Docker?
Para instalar Docker en un servidor de producción, siempre debemos usar el repositorio oficial en lugar de los paquetes que vienen con Ubuntu (docker.io). El repositorio oficial garantiza que recibes la versión más estable, las últimas actualizaciones de seguridad y una instalación sin software innecesario (bloatware) que consuma recursos.
Piensa en ello como reparar una máquina de precisión: puedes usar una pieza genérica o la pieza original del fabricante. La pieza original está diseñada para encajar a la perfección y ofrecer el máximo rendimiento.
Nota de Laboratorio: En el mundo del self-hosting, la estabilidad lo es todo. Hemos comprobado que las instalaciones desde el repositorio oficial de Docker son significativamente más fiables a largo plazo, especialmente en servidores de bajos recursos como un Mini PC o una Raspberry Pi.
Taller Práctico: Instalación del Motor Docker paso a paso
Conéctate a tu servidor Ubuntu por terminal y sigue estos comandos al pie de la letra. Están diseñados para ser copiados y pegados con total seguridad.
Paso 1: Limpieza de versiones antiguas
Para evitar conflictos, nuestro primer paso es asegurarnos de que no hay versiones anteriores o alternativas de Docker instaladas.
sudo apt-get remove docker docker-engine docker.io containerd runc
Paso 2: Añadir la llave de seguridad (GPG) del repositorio
Le diremos a nuestro servidor que confíe en el software descargado desde Docker.
# Actualizamos la lista de paquetes e instalamos herramientas necesarias
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
# Añadimos la llave GPG oficial de Docker a nuestro sistema
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
Paso 3: Configurar el repositorio e instalar Docker Engine
Ahora que el sistema confía en Docker, le decimos dónde encontrar el software.
# Añadimos el repositorio a nuestras fuentes de software
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# Actualizamos la lista de nuevo para que reconozca el repositorio de Docker
sudo apt-get update
Y finalmente, el comando de instalación que pondrá en marcha los tres pilares del sistema:
sudo apt-get install docker-ce docker-ce-cli containerd.io
Optimización Post-Instalación: Usar Docker sin sudo
Por defecto, cada comando de Docker requiere que escribas sudo antes. Esto es tedioso y poco práctico para un trasteador. Vamos a configurar nuestro usuario para que pueda hablar directamente con el motor de Docker.
-
Crea el grupo
docker(si no existe ya):sudo groupadd docker -
Añade tu usuario actual a ese grupo:
sudo usermod -aG docker $USER
¡Paso Crítico! Para que este cambio de permisos surta efecto, debes cerrar tu sesión de terminal y volver a conectarte. Si omites este paso, el siguiente comando (docker run hello-world) fallará con un error de “Permission Denied” y pensarás que algo ha salido mal.
La Prueba de Fuego: Tu primer hello-world
Con la terminal recién abierta, es hora de verificar que el motor ruge correctamente. Ejecuta el siguiente comando:
docker run hello-world
Al lanzarlo, Docker hará lo siguiente por ti:
- Buscará localmente una imagen llamada
hello-world. - Al no encontrarla, se conectará al Docker Hub en internet y la descargará.
- Creará un nuevo contenedor a partir de esa imagen.
- Ejecutará el programa que hay dentro (que imprime un mensaje).
- Detendrá y limpiará el contenedor para no malgastar recursos.
Si ves el mensaje “Hello from Docker!”, ¡misión cumplida! Tu servidor ya es un host de contenedores profesional.
Conclusión y Siguientes Pasos
Has pasado de la teoría a la acción. Has forjado el motor de tu búnker de self-hosting siguiendo las mejores prácticas de la industria. Tu servidor ahora tiene el superpoder de ejecutar cualquier aplicación de forma aislada y eficiente.
Pero una sala de máquinas sin un panel de control es un caos. En el próximo nodo de este curso, desplegaremos la interfaz gráfica que lo controla todo:
👉 Siguiente Módulo: Módulo 3: Desplegando Portainer con Docker Compose
¡Nos vemos en la terminal! 🛠️