Cómo instalar Docker en Ubuntu de forma manual y con una plantilla VPS
Instalar Docker en Ubuntu te permite ejecutar contenedores para crear, probar y desplegar aplicaciones en un entorno limpio y consistente.
Para instalar Docker en Ubuntu, asegúrate de que tu sistema está ejecutando una versión compatible como Ubuntu 22.04 LTS o 24.04 LTS. A continuación, sigue los pasos de instalación manual para configurar los paquetes necesarios, añadir la clave GPG oficial de Docker e instalar Docker Engine.
Si eres cliente de Hostinger, puedes instalar Docker en tu VPS Ubuntu en tan sólo unos clics utilizando nuestra plantilla preconfigurada.
Te vamos a guiar a través de ambos métodos, compartiremos consejos útiles de configuración de Docker después de la instalación, y demostraremos cómo solucionar problemas comunes de configuración.
Tabla de Contenidos
Requisitos previos para instalar Docker en Ubuntu
Antes de instalar Docker en Ubuntu, asegúrate de que cumples los siguientes requisitos previos:
- Familiaridad con los conceptos básicos de Docker, que te ayudarán a entender qué estás configurando y por qué es importante cada paso.
- Conocimientos básicos de comandos de Linux, especialmente si estás siguiendo el método de instalación manual, ya que tendrás que ejecutar varios comandos en el terminal.
- Una versión de Ubuntu compatible, como Ubuntu 22.04 LTS o Ubuntu 24.04 LTS. Consulta siempre la documentación oficial de Docker para conocer los últimos detalles de compatibilidad.
- Un sistema con al menos 512 MB de RAM. Para un mejor rendimiento y uso en el mundo real, recomendamos instalar Docker en un sistema con al menos 2 GB de RAM.
Cómo instalar Docker manualmente
Si prefieres un enfoque práctico, esta sección te guiará a través de la instalación manual de Docker en una distribución de Ubuntu 24.04. Los mismos pasos se aplican a otras versiones de Ubuntu compatibles, como la 22.04.
1. Instalar todos los paquetes necesarios
Para empezar a instalar Docker, comprueba que tu sistema está actualizado y tiene instalados todos los paquetes necesarios.
- Abre tu terminal y conéctate a tu VPS usando SSH. Sustituye nombre_usuario y tu_servidor_ip por tus credenciales:
ssh nombre_usuario@tu_servidor_ip
- Actualiza tu lista de paquetes para asegurarte de que tu servidor utiliza las versiones más recientes de los paquetes y sus dependencias:
sudo apt update && sudo apt upgrade -y
- Instala los paquetes necesarios para permitir que apt utilice repositorios sobre HTTPS:
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y

2. Añadir la clave GPG oficial de Docker
Para garantizar la autenticidad y seguridad de los paquetes de Docker, es necesario añadir la clave GPG oficial de Docker y configurar el repositorio de Docker.
- Ejecuta el siguiente comando cURL para añadir 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

- Añade el repositorio oficial de Docker a sus fuentes APT:
echo "deb [arch=amd64 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
- Actualiza tu lista de paquetes para incluir los paquetes del nuevo repositorio:
sudo apt update
3. Instalar el motor Docker
Con los repositorios necesarios configurados, ahora puedes proceder a instalar Docker Engine.s
- Asegúrate de instalar Docker desde su repositorio oficial en lugar del repositorio por defecto de Ubuntu:
apt-cache policy docker-ce
- Verás la siguiente salida, indicando que Docker se instalará desde el repositorio correcto:

- Ejecuta este comando para instalar Docker Engine, Docker Community Edition, y containerd runtime, todos ellos necesarios para ejecutar contenedores Docker:
sudo apt install docker-ce docker-ce-cli containerd.io -y
- Asegúrate de que Docker se inicia automáticamente al arrancar el sistema:
sudo systemctl enable docker
4. Verificar la instalación de Docker
Después de instalar Docker, comprueba que la instalación se ha realizado correctamente y que Docker se está ejecutando sin problemas.
- Confirma la versión de Docker instalada en tu sistema:
docker --version
- Esta es la salida esperada:

- Utiliza el siguiente comando para comprobar el estado del servicio de Docker:
sudo systemctl status docker
- Deberías ver una salida indicando que Docker está activo y ejecutándose:

- Pulsa Q en tu teclado para salir de esta pantalla de estado.
5. Ejecutar Docker sin sudo (opcional)
Por defecto, Docker sólo te permite ejecutar sus comandos como usuario root o con privilegios sudo, lo que puede ser inconveniente y potencialmente menos seguro. Si intentas ejecutar los comandos de Docker como un usuario no root, te encontrarás con este error:

Sin embargo, ejecutar Docker sin sudo es preferible porque es más rápido y mejora la eficiencia del flujo de trabajo. Por eso sugerimos crear un usuario dedicado para ejecutar Docker sin privilegios elevados.
- Añade un nuevo usuario si no tienes uno. Aquí, lo nombramos nuevo_usuario:
sudo adduser nuevo_usuario
- Se te pedirá que establezcas una nueva contraseña para este usuario.
- Ejecuta el siguiente comando para crear el grupo docker:
sudo groupadd docker
- Añade nuevo_usuario al grupo docker:
sudo usermod -aG docker nuevo_usuario
- Cambia al usuario recién creado:
su - nuevo_usuario
- Comprueba que este usuario forma parte del grupo docker:
groups
- Aquí está la salida:

- Ejecuta un simple comando Docker para verificar que puedes ejecutar comandos sin sudo:
docker run hello-world
- Deberías ver una salida que muestra que Docker se está ejecutando correctamente como usuario no root:

¡Enhorabuena! Has configurado con éxito Docker manualmente en un VPS Ubuntu utilizando comandos.
Cómo instalar Docker en Ubuntu usando la plantilla VPS de Hostinger
Utilizar la plantilla preconfigurada de Hostinger es la forma más sencilla de instalar Docker en tu VPS Ubuntu. Si eliges el plan de alojamiento VPS Docker, la plantilla se seleccionará automáticamente, por lo que puedes comenzar a desplegar aplicaciones en contenedores de inmediato.
Si eres un cliente de alojamiento VPS regular, no te preocupes. Puedes instalar Docker con unos pocos clics seleccionando la plantilla tu mismo. Estos son los pasos:
- Inicia sesión en hPanel y navega a VPS → Administrar junto a tu servidor.
- Desde el panel de control del VPS, ve a SO y Panel → Sistema operativo en la barra lateral izquierda.
- Busca la sección Cambiar SO, escribe Docker en la barra de búsqueda y, a continuación, selecciona la plantilla Docker.

- Sigue las instrucciones en pantalla y espera a que finalice el proceso de instalación, que suele tardar unos 10 minutos.
¡Ya está! Has instalado Docker en tu VPS y estás listo para desplegar aplicaciones.

Consejos de configuración de Docker
Después de instalar Docker en Ubuntu, tómate un tiempo para aprender los comandos principales y las configuraciones útiles a continuación para sacarle el máximo partido.
1. Aprende los comandos básicos de Docker
Empieza por dominar los comandos esenciales de Docker para interactuar con imágenes y contenedores. De esta forma, podrás buscar y extraer imágenes precompiladas como nginx, node o mysql para lanzar servicios rápidamente sin necesidad de instalar nada manualmente.
- Lista imágenes:
docker images
- Busca imágenes en Docker Hub:
docker search nginx
- Descarga una imagen:
docker pull nginx
2. Ejecutar y gestionar contenedores
Una vez que tengas una imagen, puedes lanzar y controlar contenedores usando los siguientes comandos. El siguiente ejemplo ejecuta un servidor NGINX en contenedor en el puerto 8080. Esto es perfecto para probar sitios web estáticos localmente o construir proxies inversos para tus aplicaciones.
- Ejecuta un contenedor:
docker run -d --name webserver -p 8080:80 nginx
docker start webserver
- Detén un contenedor en ejecución:
docker stop webserver
- Lista contenedores en ejecución:
docker ps
3. Crear y compartir tus propias imágenes
Puedes crear tus propias imágenes utilizando un Dockerfile y compartirlas con otros. Un caso de uso es empaquetar tu aplicación Node.js, Python o Go en una imagen reutilizable y desplegarla en diferentes entornos o compartirla con tu equipo.
- Construye una imagen desde el directorio actual:
docker build -t mi-app .
- Etiqueta la imagen:
docker tag mi-app tu-nombre-de-usuario/mi-app:latest
- Empuja la imagen a Docker Hub:
docker push tu-nombre-de-usuario/mi-app:latest
4. Limpiar los componentes no utilizados
Limpia los recursos Docker que ya no necesites para evitar un uso innecesario del disco. Esto ayuda a liberar espacio y reducir el desorden de las ejecuciones de prueba o construcciones temporales.
- Elimina las imágenes Docker no utilizadas:
docker image prune
- Elimina contenedores detenidos:
docker container prune
- Elimina volúmenes y redes no utilizados:
docker volume prune docker network prune
5. Utilizar Docker Compose para aplicaciones multicontenedor
Docker Compose te permite definir y gestionar entornos multiservicio utilizando un único archivo docker-compose.yml.
- Ejemplo: ejecuta rápidamente WordPress como un contenedor Docker para pruebas locales:
version: '3.8'
services:
db:
image: mysql:5.7
restart: always
environment:
MYSQL_DATABASE: wordpress
MYSQL_USER: wp_user
MYSQL_PASSWORD: wp_pass
MYSQL_ROOT_PASSWORD: example
volumes:
- db_data:/var/lib/mysql
web:
image: wordpress
restart: always
ports:
- "8080:80"
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_NAME: wordpress
WORDPRESS_DB_USER: wp_user
WORDPRESS_DB_PASSWORD: wp_pass
depends_on:
- db
volumes:
db_data:- Inicia todos los servicios:
docker-compose up -d
6. Crear entornos de desarrollo aislados
Utiliza Docker para evitar contaminar tu sistema con múltiples versiones de idiomas o dependencias. Esto es útil para probar paquetes, escribir scripts o crear aplicaciones en un contenedor aislado, todo ello sin cambiar la configuración del host.
- Ejemplo: utiliza Docker para ejecutar un entorno Node.js sin instalar Node localmente:
docker run -it --rm node:18 bash
7. Automatizar compilaciones y pruebas en CI/CD
Docker es ampliamente compatible con herramientas de CI como GitHub Actions, GitLab CI/CD y Jenkins. Puedes contenerizar tu aplicación y ejecutarla de forma consistente en desarrollo, staging y producción.
- Ejemplo: utiliza una imagen Docker en tu canal de GitHub Actions para automatizar las pruebas:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: docker build -t my-app .
- run: docker run my-app npm test8. Alojar servidores web o APIs localmente
Puedes ejecutar servidores web completos o APIs dentro de contenedores para probar tus aplicaciones sin desplegarlas externamente. Esto es ideal para desarrolladores front-end que necesitan servir activos estáticos o probar dominios locales sin configurar un servidor de desarrollo completo.
- Ejemplo: ejecutar un servidor Apache básico localmente:
docker run -d -p 8080:80 httpd
Resolver problemas comunes al instalar Docker
La instalación de Docker en Ubuntu suele realizarse sin problemas, pero pueden producirse algunos errores dependiendo de la instalación, la configuración del sistema o los permisos de usuario.
A continuación se presentan problemas comunes, junto con soluciones sencillas y comandos para ayudarte a depurar rápidamente.
1. El daemon Docker no se ejecuta
Un mensaje de error como “No se puede conectar al daemon Docker” suele indicar que el servicio Docker no está activo.
- Inicia el servicio:
sudo systemctl start docker
- Habilitalo para que se inicie en el arranque:
sudo systemctl enable docker
- Comprueba el estado del daemon:
sudo systemctl status docker
Si Docker sigue sin iniciarse, comprueba los registros usando journalctl:
journalctl -u docker.service
Busca errores como archivos de configuración faltantes, conflictos de puertos o problemas con el controlador de almacenamiento.
2. No se puede conectar al socket Docker
Si ves “Se ha denegado el permiso al intentar conectarse al socket del daemon Docker”, es probable que sea un problema de permisos de usuario.
- Comprueba si tu usuario está en el grupo docker:
groups
- Añade tu usuario al grupo:
sudo usermod -aG docker user
A continuación, cierra la sesión y vuelve a entrar como ese usuario.
- Reinicia el servicio Docker:
sudo systemctl restart docker
3. Problemas con el repositorio y la instalación
Si encuentras problemas al añadir el repositorio de Docker APT o al instalar paquetes, puede deberse a:
- URL de repositorio incorrecta.
- Faltan dependencias.
- Versión de Ubuntu no soportada.
Asegúrate de que has añadido el repositorio correcto:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
Si apt update falla, comprueba la salida en busca de entradas malformadas o errores de clave GPG.
4. Los contenedores en ejecución no responden
Si tu contenedor se inicia pero no se comporta como esperas, intenta lo siguiente:
- Consulta los registros del contenedor:
docker logs nombre_contenedor
- Comprueba la salud del contenedor si está definida:
docker inspect --format='{{json .State.Health}}' nombre_contenedor- Reinicia el contenedor:
docker restart nombre_contenedor
Alternativamente, los usuarios de Hostinger VPS pueden pedir al Asistente de IA Kodee que compruebe los registros de sus contenedores. Simplemente escribe: “¿Puedes comprobar los registros del contenedor [nombre_del_contenedor]?” como en este ejemplo:

5. Cortafuegos y problemas de red
Docker utiliza varios puertos internamente. Si tienes un cortafuegos activado, como Uncomplicated Firewall (UFW), puede que estos puertos estén bloqueados.
- Permite el tráfico relacionado con Docker con UFW:
sudo ufw allow 2375/tcp sudo ufw allow 2376/tcp sudo ufw allow 2377/tcp sudo ufw allow 7946/tcp sudo ufw allow 7946/udp sudo ufw allow 4789/udp
- Comprueba si Docker puede resolver DNS:
docker run busybox nslookup google.com
Si esto falla, puede que tu red de contenedores esté mal configurada.
- Vuelve a crear la red puente por defecto:
docker network rm bridge docker network create --driver bridge bridge
Gestión del cortafuegos con Kodee
También puedes pedirle a Kodee que establezca nuevas reglas de firewall en tu VPS. Simplemente escribe: “Establece nuevas reglas de firewall que abran el puerto 2375, 2376, 2377, 7946 TCP y 7946, 4789 UDP a cualquier dirección IP.”
6. Rendimiento lento de Docker
Si Docker se siente lento, como por ejemplo, si la extracción de imágenes es lenta o los contenedores se retrasan, prueba estos pasos para solucionar el problema.
- Comprueba el espacio en disco:
df -h
- Comprueba el uso del sistema Docker:
docker system df
- Lista contenedores o volúmenes pesados:
docker ps -s docker volume ls
Si ninguno de los pasos anteriores funciona, intenta limpiar los contenedores, redes, imágenes y caché de compilación no utilizados para mejorar el rendimiento:
docker system prune -a
7. Errores de seguridad o AppArmor
En algunas configuraciones de Ubuntu, Docker puede fallar al iniciar contenedores debido a conflictos con módulos de seguridad, como AppArmor.
- Comprueba si hay denegaciones de AppArmor:
dmesg | grep apparmor
- Deshabilita temporalmente AppArmor para un contenedor:
docker run --security-opt apparmor=unconfined tu_imagen
Ten en cuenta que no se recomienda desactivar AppArmor en un entorno de producción. Si lo haces, asegúrate de que no estás anulando involuntariamente funciones importantes de seguridad del kernel.
Si estos errores persisten, comprueba los registros del sistema en /var/log/syslog.
¿Qué sigue después de instalar Docker en Ubuntu?
Instalar Docker en Ubuntu te da la flexibilidad para desplegar, probar y enviar software con menos dolores de cabeza, tanto si estás ejecutando aplicaciones localmente como gestionando cargas de trabajo de producción.
Pero la instalación es sólo el principio. Para beneficiarte realmente de Docker, explora cómo encajan los contenedores en tu flujo de trabajo a largo plazo:
- Encuentra casos de uso de Docker en el mundo real, como la ejecución de aplicaciones web, bases de datos o canalizaciones de CI y obtén ideas para aplicarlas en tus propios proyectos.
- Utiliza docker exec para interactuar con contenedores en ejecución mediante la ejecución de comandos directamente para la depuración, configuración o actualizaciones en vivo, todo sin reiniciar nada.
- Manejar los secretos de Docker de forma segura evitando contraseñas o tokens codificados y pasando datos sensibles de forma segura durante la construcción o el tiempo de ejecución.
- Configura Docker Swarm para que la orquestación escale tus aplicaciones más allá de los contenedores individuales y gestione un clúster multinodo de forma eficiente con equilibrio de carga integrado.