Saltar al contenido principal

Instala Docker en Ubuntu: De la instalación al primer contenedor

Sólo se necesitan unos pocos comandos para pasar de una nueva instalación del sistema operativo a ejecutar tu primera aplicación en contenedor. Aprende a hacerlo con esta guía definitiva de configuración de Docker en Ubuntu.
Actualizado 5 feb 2025  · 20 min de lectura

Si quieres dejar de decir "funciona en mi máquina", la la contenedorización es el camino a seguir.

En pocas palabras, la contenedorización te permite empaquetar tus aplicaciones en entornos ligeros y aislados llamados contenedores. Estos contenedores incluyen todo lo necesario para ejecutar la aplicación, como el código y las dependencias, pero nada innecesario. Una aplicación en contenedores se ejecutará de forma coherente en distintos entornos, ya sea en tu portátil, en un servidor de pruebas o en producción.

Docker sigue siendo la plataforma de referencia para contenerizar aplicaciones en 2025. Puede funcionar en cualquier sistema operativo, pero como ocurre con la mayoría de las herramientas de desarrollo, se prefieren los sistemas basados en UNIX.

En este artículo, aprenderás a instalar Docker en Ubuntu, iniciar tu primer contenedor y gestionar y supervisar los contenedores en ejecución.

La configuración es sencilla, pero implica algunos pasos. ¡Vamos a sumergirnos!

¿Es Docker lo mismo que Kubernetes? Aquí tienes todas las diferencias que todo desarrollador debe conocer.

Preparar tu sistema Ubuntu

Antes de instalar Docker en Ubuntu, hay que realizar algunas tareas domésticas. Te ocuparás de todos ellos en esta sección.

Para empezar, asegúrate de que estás ejecutando un sistema Ubuntu, ya sea la versión Escritorio o Servidor. Estamos utilizando Ubuntu Server 24.04:

Detalles del sistema operativo

Imagen 1 - Detalles del sistema operativo

Si ves una salida similar a la que se muestra en la imagen anterior, ya estás listo.

Comprueba los requisitos del sistema

Antes de instalar Docker, asegúrate de que tu sistema tiene recursos suficientes para ejecutarlo.

Aunque Docker no especifica requisitos mínimos en su sitio web (aparte de arquitecturas de CPU compatibles), hemos comprobado que los siguientes son suficientes para ejecutar el propio Docker:

  • Sistema operativo: Ubuntu Desktop/Server 20.04 o posterior  
  • Arquitectura de la CPU: 64 bits (x86_64 o arm64)  
  • Memoria: 512 MB de RAM  
  • Almacenamiento: 5 GB  

Una máquina con estas especificaciones te permitirá ejecutar Docker, pero no mucho más. No esperes ejecutar contenedores complejos o aplicaciones multicontenedor.

Si planeas hacer más, busca al menos 2 GB de RAM, 25 GB de almacenamientoy una CPU moderna.

Actualiza tu sistema Ubuntu

Vamos a ejecutar Docker en una nueva instancia de Ubuntu Server, por lo que proporcionaremos todos los comandos necesarios para configurar los requisitos previos de Docker.

En primer lugar, actualiza la lista de paquetes de tu sistema y actualiza los paquetes existentes ejecutando el siguiente comando:

sudo apt update && sudo apt upgrade -y

Este proceso puede tardar unos minutos, pero garantiza que tu gestor de paquetes recupera las últimas versiones de paquetes y actualizaciones de seguridad.

Garantizar los requisitos previos

Docker necesita algunas dependencias para instalarse y funcionar correctamente. Ejecuta este comando para instalarlos:

sudo apt install -y apt-transport-https ca-certificates curl software-properties-common

En resumen, el comando anterior permite la descarga de paquetes a través de HTTPS e instala las herramientas necesarias para obtener las claves GPG de Docker (de las que hablaremos más adelante).

Y eso es todo: ¡tu sistema ya está listo para instalar Docker!

Instalar Docker en Ubuntu

Una vez cumplidos los requisitos previos del sistema, instalar Docker en Ubuntu es un proceso de cuatro pasos.

Paso 1: Añade la clave GPG oficial de Docker

La clave GPG (GNU Privacy Guard) de Docker se utiliza para firmar los paquetes y repositorios Docker, garantizando la integridad y autenticidad de las imágenes y paquetes Docker.

Empieza por ejecutar el comando shell adecuado para descargar la clave y almacenar una versión convertida compatible con APT en /usr/share/keyrings.

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

Paso 2: Añade el repositorio oficial APT de Docker

Ahora, añade el repositorio oficial de Docker a tu sistema.

El siguiente comando utiliza la clave GPG almacenada previamente para verificar la autenticidad del repositorio y luego lo añade a las fuentes de paquetes del sistema:

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

Después, actualiza la lista de paquetes de tu sistema para incluir el nuevo repositorio:

sudo apt update

Paso 3: Instalar Docker

Ahora que el repositorio está configurado, estás listo para instalar Docker en Ubuntu.

El comando de instalación instalará el núcleo del motor Docker, su interfaz de línea de comandos y el tiempo de ejecución para gestionar la ejecución de los contenedores:

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

Una vez finalizada la instalación, deberías ver un mensaje confirmando que la instalación se ha realizado correctamente:

Resultados de la instalación de Docker

Imagen 2 - Resultados de la instalación de Docker

Paso 4: Verifica la instalación de Docker

Ahora Docker debería estar instalado en tu sistema.

Para verificarlo, imprime la versión de Docker en la consola. Si la instalación se ha realizado correctamente, deberías ver un número de versión:

docker --version

Versión de Docker instalada

Imagen 3 - Versión Docker instalada

A finales de enero de 2025, la versión 27.5.1 de Docker es la más reciente, y la tenemos funcionando con éxito en Ubuntu Server.

Pasos posteriores a la instalación

Ya tienes Docker instalado y estás listo para empezar a contenerizar tus aplicaciones.

Pero, ¿qué es la contenedorización? Nuestro curso sobre conceptos de Contenedorización y Virtualización te enseñará los conceptos básicos.

Antes de hacerlo, te recomendamos que sigas tres pasos adicionales de configuración para sacarle el máximo partido. Esta sección es para ti si quieres ejecutar Docker al arrancar el sistema o gestionarimágenes y contenedores como usuario no root.

Paso 1: Inicia y activa el servicio Docker

El servicio Docker se está ejecutando actualmente en tu sistema, pero no se iniciará automáticamente tras un reinicio.

Para garantizar que Docker se inicie automáticamente al arrancarutiliza systemctl para activar el servicio:

sudo systemctl enable docker

Deberías ver un resultado similar al nuestro:

Activar el servicio Docker en el arranque

Imagen 4 - Activar el servicio Docker en el arranque

En el futuro, si alguna vez ves un mensaje indicando que Docker no se está ejecutando (lo que no debería ocurrir), puedes iniciar Docker manualmente utilizando el siguiente comando:

sudo systemctl start docker

Ahora Docker seguirá funcionando mientras tu sistema esté encendido.

Paso 2: Comprueba el estado de Docker

Hay algunos comandos adicionales de systemctl que puedes utilizar para gestionar el servicio Docker.

Por ejemplo, el comando status muestra el estado de un servicio, que suele ser activo, inactivo o fallido. Aunque hay más estados posibles, estos tres son los más frecuentes:

sudo systemctl status docker

Estado del servicio Docker

Imagen 5 - Estado del servicio Docker

Si tu servicio Docker está activo, todos los sistemas funcionan correctamente.

Si ves un estado diferente para Docker o cualquier otro servicio, reiniciarlo debería resolver el problema:

sudo systemctl restart docker

Una vez reiniciado, puedes volver a comprobar el estado para confirmar que el servicio se está ejecutando.

Paso 3: Gestionar Docker como usuario no root

Por defecto, la ejecución de comandos Docker requiere sudo, lo que puede resultar incómodo. Esto significa que debes escribir sudo antes de cualquier comando docker.

Por suerte, existe una forma sencilla de permitir que los usuarios no root ejecuten comandos Docker, añadiendo el usuario actual al grupo grupo docker:

sudo usermod -aG docker $USER

Después de ejecutar el comando anterior, cierra la sesión y vuelve a iniciarla para que el cambio surta efecto. Ahora deberías poder ejecutar comandos Docker sin privilegios de superusuario.

Lo comprobaremos en la siguiente sección.

Probar la instalación de Docker

Docker ya está instalado y configurado. También se ejecuta automáticamente al arrancar y permite a tu usuario ejecutar comandos directamente.

En esta sección, terminaremos ejecutando dos contenedores: uno para un ejemplo sencillo de "¡Hola, mundo!" y otro para un script de Python.

Paso 1: Ejecuta un contenedor Docker de prueba

Docker proporciona una imagen de prueba sencilla llamada hello-world, que se utiliza únicamente para confirmar que Docker funciona correctamente.

Ejecuta el siguiente comando para iniciar la imagen:

docker run hello-world

Como la imagen no se encuentra localmente, Docker la descargará automáticamente de la web. Al cabo de unos instantes, deberías ver una salida similar a ésta:

Docker hola mundo ejemplo

Imagen 6 - Ejemplo de hola mundo en Docker

En resumen, esto confirma que Docker está instalado correctamente, que el demonio Docker se está ejecutando y que tu sistema puede extraer imágenes de Docker Hub.

Paso 2: Ejecuta tu primer contenedor "real

Si quieres construir imágenes desde cero, esta sección es para ti.

Construiremos una imagen sencilla que ejecute Python 3.9 y que, al lanzarse, ejecute un script personalizado de Python.

Empieza por crear una carpeta dedicada y un archivo app.py que se ejecutará:

mkdir python-docker-test && cd python-docker-test
nano app.py

El archivo sólo contiene un sencillo comando print(), pero, por supuesto, puedes ampliarlo para incluir una lógica más compleja:

print("Hello from Docker running on Ubuntu!")

En la misma carpeta, crea un Dockerfile, que indica a Docker cómo construir la imagen paso a paso:

nano Dockerfile

Estas tres líneas son todo lo que necesitas:

FROM python:3.9-slim
COPY app.py /app.py
CMD ["python", "/app.py"]

En esencia, se indica a Docker que obtenga la imagen python:3.9-slim de Docker Hub, copie el script app.py en el contenedor y, a continuación, ejecute el script.

A estas alturas, deberías tener los siguientes archivos en tu directorio de trabajo:

Contenido de la aplicación Demo Python

Imagen 7 - Contenido de la aplicación Demo Python

Para crear la imagenejecuta el siguiente comando:

docker build -t python-hello .

El comando anterior crea una nueva imagen en el directorio actual (.) y le asigna la etiqueta python-hello.

Construir una imagen Docker

Imagen 8 - Crear una imagen Docker

Para ejecutar la imagen, utiliza el comando docker run seguido de la etiqueta de la imagen. La bandera opcional --rm garantiza que el contenedor se elimine tras su salida, lo que ocurre inmediatamente después de que el script de Python finalice su ejecución:

docker run --rm python-hello

Ejecutar un script Python en Docker

Imagen 9 - Ejecutar un script Python en Docker

Y así de fácil, ¡has containerizado con éxito tu primera aplicación Python con Docker ejecutándose en Ubuntu!

Si buscas una aplicación de Docker para el aprendizaje automático, en DataCamp encontrarás Containerization: Docker y Kubernetes para el aprendizaje automático es una lectura de seguimiento recomendada.

Actualizar y desinstalar Docker en Ubuntu

Ejecutar Docker en tu propio entorno te da un control total, pero también te hace responsable de mantenerte al día de las últimas actualizaciones, nuevas funciones y parches de seguridad.

Esta sección explica cómo realizar tareas básicas como actualizar Docker y eliminarlo completamente de tu sistema.

Actualizar Docker

La actualización de Docker se reduce a dos pasos principales:

  • Actualiza la lista de paquetes para obtener la última versión de Docker.
  • Actualizar Docker (núcleo, CLI y tiempo de ejecución de gestión de contenedores) a la versión más reciente.

Ejecuta los siguientes comandos en el terminal para actualizar Docker en Ubuntu:

sudo apt update
sudo apt upgrade -y docker-ce docker-ce-cli containerd.io
docker --version

El comando docker -- version muestra la versión instalada actualmente. Esta es la forma más sencilla de verificar si Docker se ha actualizado correctamente.

Desinstalar Docker

Si necesitas eliminar Docker de tu sistema, debes empezar por desinstalar Docker y los paquetes relacionados y eliminar todos los archivos y configuraciones restantes relacionados con Docker.

Además, puedes eliminar opcionalmente el repositorio Docker de las fuentes de APT.

Los cuatro comandos siguientes desinstalarán Docker de tu sistema Ubuntu, pero ten en cuenta que sólo son necesarios los tres primeros:

sudo apt remove -y docker-ce docker-ce-cli containerd.io
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

# Optional
sudo rm /etc/apt/sources.list.d/docker.list

Después de ejecutar estos comandos, al escribir docker --version debería aparecer un error indicando que Docker ya no está instalado.

Buenas prácticas para Docker en Ubuntu

La gestión de Docker requiere un mantenimiento continuo, ya que es tu responsabilidad eliminar los recursos no utilizados y supervisar el rendimiento.

En esta sección, cubriremos dos tareas domésticas esenciales que deberías realizar regularmente mientras ejecutas Docker en Ubuntu.

Limpia regularmente los recursos de Docker

Con el tiempo, las imágenes Docker, los contenedores, las redes y los volúmenes no utilizados pueden acumularse, consumiendo un importante espacio en disco.

La limpieza de estos recursos se conoce como podaaunque una explicación detallada queda fuera del alcance de este artículo.

Recuerda este comando: eliminará de una vez todos los contenedores, imágenes, volúmenes y redes que no utilices:

docker system prune -a -f

Poda de recursos

Imagen 10 - Poda de recursos

Sólo hemos recuperado 10 kB, pero en un entorno más "serio", este comando puede liberar a menudo decenas de gigabytes de espacio en disco.

Asegura tu instalación Docker

Ya hemos tratado dos temas de seguridad importantes: mantener Docker actualizado y gestionar los permisos de superusuario.

Además de éstos, aquí tienes algunos pasos más para mejorar la seguridad de Docker en Ubuntu:

  • Limita los privilegios de los contenedores: Evita ejecutar contenedores con la bandera --privileged siempre que sea posible, ya que desactiva muchas comprobaciones de seguridad que aíslan los contenedores del sistema anfitrión.
  • Utiliza sólo imágenes oficiales y de confianza: No extraigas imágenes de registros de terceros no verificados. Limítate a fuentes de confianza como Docker Hub y registros privados.
  • Activa Docker Content Trust (DCT): Establecer esta variable de entorno garantiza que sólo se utilicen imágenes firmadas y verificadas.

Monitoriza el rendimiento de Docker

La CLI de Docker incluye potentes herramientas para ayudarte a supervisar el rendimiento de los contenedores e identificar posibles problemas.

Antes de sumergirnos en ellos, vamos a modificar el archivo app.py para que siga funcionando después de que se inicie el contenedor:

import time

time.sleep(10000)
print("Hello from Docker running on Ubuntu!")

La razón es sencilla: necesitamos un contenedor en funcionamiento para controlar su rendimiento.

Empecemos con el comando ps. En pocas palabras, lista todos los contenedores que se están ejecutando actualmente:

docker ps

Ejecutar contenedores Docker

Imagen 11 - Ejecutar contenedores Docker

Aunque la salida no revela mucho, el campo CONTAINER ID es crucial para una inspección posterior.

Ahora, vamos a explorar el comando stats, que muestra el uso de recursos en tiempo real, incluido el consumo de CPU, memoria y red de todos los contenedores en ejecución:

docker stats

Estadísticas del contenedor

Imagen 12 - Estadísticas de los contenedores

Si necesitas un desglose detallado del uso de recursos y de la configuración de un contenedor, utiliza el comando inspect.

Sólo tienes que proporcionar el ID del contenedor:

docker inspect <container_id>

Detalles del contenedor

Imagen 13 - Detalles del contenedor

Si tienes problemas con un contenedor Docker, el comando logs puede ayudarte a diagnosticar el problema y a identificar potencialmente su causa.

También requiere el ID del contenedor:

docker logs <container_id>

Terminal mostrando los registros de contenedores

Imagen 14 - Registros de contenedores

A veces, puede que necesites conectarte directamente a un contenedor en ejecución. Si conoces el ID del contenedor, esto es sencillo:

docker exec -it <container_id> bash

Terminal mostrando los registros de contenedores

Imagen 15 - Registros de contenedores

El comando anterior abre un intérprete de comandos dentro del contenedor Docker especificado, permitiéndote acceder o modificar archivos directamente.

Resumiendo Docker en Ubuntu

Hoy has aprendido a instalar, configurar y gestionar Docker en Ubuntu. 

Si has seguido todos los pasos, tendrás Docker ejecutándose en tu sistema, que se inicia automáticamente al arrancar y no requiere permisos de superusuario para gestionar los contenedores. También has aprendido a verificar la instalación de Docker, a ejecutar contenedores de prueba e incluso a crear tu primera aplicación Python personalizada en contenedores.

Es mucho, pero es sólo el principio. Hay mucho más en toda esta historia de la contenerización, y te recomendamos encarecidamente que consultes nuestros recursos oficiales para dominar Docker:

Preguntas frecuentes

¿Para qué se utiliza Docker?

Docker se utiliza para automatizar el despliegue de aplicaciones en contenedores ligeros, que empaquetan una aplicación y sus dependencias en un entorno aislado, reproducible e independiente del entorno anfitrión.

¿Es Ubuntu bueno para Docker?

Ubuntu es una gran opción para ejecutar Docker, tanto en su variante de escritorio como de servidor. Es una distribución Linux popular y estable, muy apreciada por los desarrolladores. Dicho esto, también puedes ejecutar Docker en otras distribuciones de Linux.

¿Por qué debo utilizar Docker?

Docker proporciona las ventajas de un entorno consistente para el desarrollo/pruebas/producción, un despliegue más rápido de la aplicación y un escalado más sencillo, todo ello haciendo que la aplicación sea fácil de mover entre distintos entornos y sistemas.

¿Cuál es la diferencia entre Docker y las máquinas virtuales?

Los contenedores Docker comparten el núcleo del sistema operativo y los recursos del sistema anfitrión, lo que los hace más ligeros y rápidos que las máquinas virtuales. Las máquinas virtuales ejecutan sistemas operativos distintos y requieren más recursos del sistema.

¿Cómo sé si Docker funciona correctamente?

Puedes empezar por comprobar si Docker está instalado ejecutando el comando docker –version. Además, ejecutar un contenedor de prueba sencillo como hello-world verificará que Docker funciona.


Dario Radečić's photo
Author
Dario Radečić
LinkedIn
Científico de Datos Senior con base en Croacia. Top Tech Writer con más de 700 artículos publicados, generando más de 10M de visitas. Autor del libro Automatización del aprendizaje automático con TPOT.
Temas

¡Aprende más sobre Docker con estos cursos!

Curso

Introduction to Docker

4 hr
24.4K
Gain an introduction to Docker and discover its importance in the data professional’s toolkit. Learn about Docker containers, images, and more.
Ver detallesRight Arrow
Comienza el curso
Ver másRight Arrow
Relacionado

Tutorial

Cómo instalar y configurar MySQL en Docker

Aprende a instalar y configurar la base de datos MySQL dentro de contenedores Docker. El tutorial incluye conceptos como conectarse a servidores MySQL, ejecutar clientes MySQL para conectarse a contenedores, etc.
Bex Tuychiev's photo

Bex Tuychiev

12 min

Tutorial

Tutorial sobre cómo instalar R en Windows, Mac OS X y Ubuntu

Esta es una guía para principiantes diseñada para ahorrarte dolores de cabeza y un tiempo valioso si decides instalar R tú mismo.
Francisco Javier Carrera Arias's photo

Francisco Javier Carrera Arias

6 min

Tutorial

Cómo escribir un Bash Script: Un sencillo tutorial de Bash Scripting

Descubre los fundamentos de las secuencias de comandos bash y aprende a escribir una secuencia de comandos bash.
Kurtis Pykes 's photo

Kurtis Pykes

5 min

Tutorial

Instalación de PySpark (Todos los sistemas operativos)

Este tutorial mostrará la instalación de PySpark y cómo gestionar las variables de entorno en los sistemas operativos Windows, Linux y Mac.

Olivia Smith

8 min

Tutorial

Tutorial de instalación de Anaconda en Windows

Este tutorial te mostrará cómo puedes instalar Anaconda, un potente gestor de paquetes, en Microsoft Windows.
DataCamp Team's photo

DataCamp Team

5 min

Tutorial

Tutorial sobre cómo ejecutar scripts en Python

Aprenda cómo puede ejecutar un script Python desde la línea de comandos, y también cómo puede proporcionar argumentos de línea de comandos a su script.
Aditya Sharma's photo

Aditya Sharma

10 min

Ver másVer más