Curso
Instala Docker en Ubuntu: De la instalación al primer contenedor
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:
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:
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
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:
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
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:
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:
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
.
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
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
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
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
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>
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>
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
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.
¡Aprende más sobre Docker con estos cursos!
Curso
Intermediate Docker
Programa
Containerization and Virtualization
Tutorial
Cómo instalar y configurar MySQL en Docker
Tutorial
Tutorial sobre cómo instalar R en Windows, Mac OS X y Ubuntu
Tutorial
Cómo escribir un Bash Script: Un sencillo tutorial de Bash Scripting
Tutorial
Instalación de PySpark (Todos los sistemas operativos)
Olivia Smith
8 min
Tutorial
Tutorial de instalación de Anaconda en Windows

DataCamp Team
5 min
Tutorial