¿Cómo instalar Docker en un VPS Ubuntu 20.04?

¡Hola, colega! ¿Quieres desplegar tu increíble proyecto en Docker y ya tienes un VPS con Ubuntu 20.04 esperando? ¡Perfecto! Esta guía es tu biblia para instalar Docker, escrita por alguien que ya pasó por todo esto. Aquí no hay teoría aburrida, solo práctica, comandos reales y un poco de mi experiencia personal, aderezada con humor de desarrollador. ¡Prepárate para un despliegue rápido y sencillo! ¡Vamos allá!

Preparación del sistema
¿Cómo instalar Docker en un VPS Ubuntu 20.04? - Captura de pantalla de la terminal de Ubuntu 20.04

Okay, lo primero que debemos hacer es actualizar el sistema. Sabes, he perdido horas depurando porque olvidé actualizar los paquetes… ¡No repitas mis errores! Créeme. Abre la terminal y escribe:

sudo apt update && sudo apt upgrade -y

Este comando actualizará la lista de paquetes e instalará todas las actualizaciones disponibles. El flag -y es un atajo para no responder a cada pregunta «¿Continuar?». Es conveniente, pero ten cuidado, ¡*siempre haz una copia de seguridad antes de modificar un entorno de producción!*

Luego, debemos instalar las dependencias necesarias. Es como preparar el terreno para construir una casa: sin cimientos, no se puede hacer nada. Estos son los comandos:

VPS Hosting

Servidores virtuales con recursos garantizados

Elegir VPS

sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release -y

Estos paquetes son necesarios para descargar e instalar Docker de forma segura. Si algo sale mal, `sudo apt —fix-broken install` te ayudará. Este comando intentará reparar los paquetes dañados. Ya lo he vivido…

Y el último paso antes de instalar Docker es reiniciar. Suena obvio, pero a veces sin esto nada funciona. Sabes, esta parte siempre tropieza a todos. Simplemente reinicia el servidor:

sudo reboot

Instalación de Docker Engine
¿Cómo instalar Docker en un VPS Ubuntu 20.04? - Logotipo de Docker Engine

Ahora que el sistema está preparado, es hora de instalar Docker Engine. Es el corazón de todo el proceso. Primero, agregamos la clave GPG de Docker:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

Este comando descarga e instala la clave de firma de Docker. Es importante asegurarse de que la URL sea correcta; no queremos instalar accidentalmente algo incorrecto…

Luego, agregamos 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

Este comando agrega el repositorio de Docker a la lista de fuentes de paquetes. Ahora, el sistema sabrá dónde buscar los paquetes de Docker.

Y finalmente, instalamos Docker Engine:

sudo apt update && sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y

¡Boom! ¡Eso es todo! Si todo ha ido bien, Docker Engine está instalado. Pero… hay un pequeño detalle… a continuación, debemos agregar el usuario al grupo docker para ejecutarlo sin sudo.

sudo usermod -aG docker $USER && newgrp docker

No olvides reiniciar la terminal o la sesión para que los cambios surtan efecto. En serio, ¡esta parte es importante!

Verificación de la instalación

Comprobemos si todo funciona correctamente. La forma más sencilla es ver la versión de Docker:

docker version

Si el comando devuelve información sobre la versión de Docker, ¡todo está perfecto! ¡Felicidades! Si no… revisa los registros: `journalctl -u docker` y `systemctl status docker`. A veces, los mensajes de error no son muy informativos, pero *leer los registros es un superpoder*. ¡Aprende a usarlos!

Otra prueba: ejecutemos un contenedor simple. Por ejemplo, hello-world:

docker run hello-world

Si todo está bien, verás un mensaje de que el contenedor se ha iniciado correctamente. Si no, ¡vuelve a revisar los registros! ¡Y no olvides comprobar las reglas de tu firewall!

En esta etapa, si todos los comandos se han ejecutado correctamente y `docker run hello-world` ha funcionado sin errores, ¡felicidades! Tienes Docker instalado y funcionando. ¡Lo has logrado!

Trabajo con imágenes

Ahora que Docker está instalado, es hora de aprender a trabajar con imágenes. Las imágenes son como los planos para los contenedores. Primero, descarguemos la imagen nginx:

docker pull nginx

Este comando descargará la imagen nginx de Docker Hub. Docker Hub es un enorme repositorio con imágenes de diferentes programas. Es como una enorme tienda de aplicaciones para contenedores. Piénsalo como una tienda gigante de bloques de Lego.

Comprobemos si se ha descargado la imagen:

docker images

Debes ver nginx en la lista de imágenes. Si no, vuelve a comprobar el comando `docker pull nginx` y asegúrate de que la conexión a internet funciona correctamente. Uf, esta parte siempre hace tropezar a la gente.

También puedes buscar imágenes: `docker search nginx`

Para eliminar una imagen, usa el comando `docker rmi `, reemplazando `` con el ID de la imagen. ¡Ten cuidado! *Siempre verifica el ID de la imagen antes de eliminarla*.

Creación e inicio de un contenedor

Ahora, iniciaremos un contenedor basado en la imagen nginx. Este es el comando:

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

Analicemos qué sucede aquí: `-d` inicia el contenedor en segundo plano, `-p 8080:80` redirige el puerto 80 del contenedor al puerto 8080 del host, `—name my-nginx` le da un nombre al contenedor, `nginx` es el nombre de la imagen. Se siente diferente cuando entiendes todas las banderas.

Comprobemos si el contenedor se ha iniciado:

docker ps

Debes ver tu contenedor `my-nginx` en la lista. Si no, ¡vuelve a revisar los registros! Y verifica que el puerto 8080 esté libre.

Abre el navegador y ve a la dirección `http://tu_ip_servidor:8080`. Si ves la página estándar de nginx, ¡genial!, ¡el contenedor funciona!

Para detener el contenedor, usa `docker stop my-nginx`, y para eliminarlo, `docker rm my-nginx`.

Recomendaciones adicionales

Aquí tienes algunos consejos que te ayudarán a evitar dolores de cabeza en el futuro. Hablando en serio… Docker es una herramienta potente, pero sin el cuidado adecuado puede convertirse en una fuente de problemas.

  • Usa Docker Compose para gestionar varios contenedores. Esto simplificará el despliegue y la gestión.
  • Actualiza regularmente Docker Engine y las imágenes. Esto mejorará la seguridad y el rendimiento.
  • Crea Dockerfiles para automatizar la construcción de imágenes. Esto te ahorrará mucho tiempo y nervios.
  • Aprende a trabajar con volúmenes de Docker para almacenar los datos de los contenedores. Esto te permitirá conservar los datos incluso después de eliminar el contenedor.
  • Configura Docker para trabajar con repositorios remotos, como Docker Hub o registros privados.

Aquí tienes otra enlace a Stack Overflow, por si acaso. En serio, allí puedes encontrar respuestas a casi cualquier pregunta sobre Docker. ¡Y no olvides la documentación oficial!

«Docker simplifica la vida de los desarrolladores, permitiendo crear, desplegar y escalar aplicaciones fácilmente.»

Experto desconocido en Docker

«El uso de Docker permite reducir significativamente el tiempo de despliegue de las aplicaciones y aumentar su fiabilidad.»

Otro experto desconocido

Y recuerda: la práctica es la mejor manera de dominar Docker. Experimenta, no tengas miedo de cometer errores y pronto te convertirás en un gurú de Docker. ¡Mucha suerte!

Versión de DockerVersión de UbuntuMemoria (RAM)Disco (HDD/SSD)
20.10.2220.04 LTS1GB (mínimo)10GB (mínimo)