{"id":410,"date":"2026-05-12T10:02:00","date_gmt":"2026-05-12T08:02:00","guid":{"rendered":"https:\/\/blumhost.net\/blog\/?p=410"},"modified":"2026-05-05T01:05:14","modified_gmt":"2026-05-04T23:05:14","slug":"instalar-docker-vps-ubuntu","status":"publish","type":"post","link":"https:\/\/blumhost.net\/blog\/instalar-docker-vps-ubuntu\/","title":{"rendered":"C\u00f3mo instalar Docker en un VPS Ubuntu: gu\u00eda paso a paso en 2026"},"content":{"rendered":"\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_74 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Tabla de Contenidos<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Alternar tabla de contenidos\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/blumhost.net\/blog\/instalar-docker-vps-ubuntu\/#Por_que_Docker_ha_cambiado_la_forma_de_desplegar_aplicaciones_en_un_VPS\" >Por qu\u00e9 Docker ha cambiado la forma de desplegar aplicaciones en un VPS<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/blumhost.net\/blog\/instalar-docker-vps-ubuntu\/#Que_necesitas_antes_de_empezar\" >Qu\u00e9 necesitas antes de empezar<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/blumhost.net\/blog\/instalar-docker-vps-ubuntu\/#Paso_1_Conecta_al_VPS_por_SSH\" >Paso 1: Conecta al VPS por SSH<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/blumhost.net\/blog\/instalar-docker-vps-ubuntu\/#Paso_2_Actualiza_el_sistema\" >Paso 2: Actualiza el sistema<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/blumhost.net\/blog\/instalar-docker-vps-ubuntu\/#Paso_3_Instala_Docker\" >Paso 3: Instala Docker<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/blumhost.net\/blog\/instalar-docker-vps-ubuntu\/#Paso_4_Verifica_que_Docker_funciona\" >Paso 4: Verifica que Docker funciona<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/blumhost.net\/blog\/instalar-docker-vps-ubuntu\/#Paso_5_Instala_Docker_Compose\" >Paso 5: Instala Docker Compose<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/blumhost.net\/blog\/instalar-docker-vps-ubuntu\/#Paso_6_Configura_Docker_para_que_arranque_con_el_sistema\" >Paso 6: Configura Docker para que arranque con el sistema<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/blumhost.net\/blog\/instalar-docker-vps-ubuntu\/#Paso_7_Crea_un_usuario_no_root_para_Docker_recomendado\" >Paso 7: Crea un usuario no root para Docker (recomendado)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/blumhost.net\/blog\/instalar-docker-vps-ubuntu\/#Paso_8_Despliega_tu_primera_aplicacion_con_Docker\" >Paso 8: Despliega tu primera aplicaci\u00f3n con Docker<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/blumhost.net\/blog\/instalar-docker-vps-ubuntu\/#Gestionar_contenedores_comandos_esenciales\" >Gestionar contenedores: comandos esenciales<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/blumhost.net\/blog\/instalar-docker-vps-ubuntu\/#Instalar_aplicaciones_con_Docker_Compose\" >Instalar aplicaciones con Docker Compose<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/blumhost.net\/blog\/instalar-docker-vps-ubuntu\/#Que_VPS_necesitas_para_Docker\" >Qu\u00e9 VPS necesitas para Docker<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/blumhost.net\/blog\/instalar-docker-vps-ubuntu\/#Preguntas_frecuentes_sobre_Docker_en_VPS\" >Preguntas frecuentes sobre Docker en VPS<\/a><\/li><\/ul><\/nav><\/div>\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Por_que_Docker_ha_cambiado_la_forma_de_desplegar_aplicaciones_en_un_VPS\"><\/span>Por qu\u00e9 Docker ha cambiado la forma de desplegar aplicaciones en un VPS<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Hace unos a\u00f1os, instalar una aplicaci\u00f3n en un servidor implicaba configurar dependencias, versiones de librer\u00edas y variables de entorno que pod\u00edan entrar en conflicto entre s\u00ed. Si ten\u00edas dos aplicaciones que necesitaban versiones diferentes de Python o Node.js en el mismo servidor, el problema se complicaba r\u00e1pidamente.<\/p>\n\n\n\n<p>Docker resuelve esto de forma elegante: cada aplicaci\u00f3n vive en su propio contenedor, con sus propias dependencias, completamente aislada del resto. El servidor puede correr diez aplicaciones con diez entornos diferentes sin que interfieran entre s\u00ed. Y cuando necesitas mover una aplicaci\u00f3n a otro servidor, la mueves entera, con todo su entorno incluido.<\/p>\n\n\n\n<p>Hoy Docker es el est\u00e1ndar de facto para desplegar aplicaciones en producci\u00f3n. N8N, Outline, Ghost, Nextcloud, Gitea, Grafana, Portainer y cientos de herramientas m\u00e1s se instalan en minutos con Docker frente a horas de configuraci\u00f3n manual. Esta gu\u00eda explica c\u00f3mo instalar Docker en un VPS Ubuntu y dejarlo listo para producci\u00f3n.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Que_necesitas_antes_de_empezar\"><\/span>Qu\u00e9 necesitas antes de empezar<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Para seguir esta gu\u00eda necesitas:<\/p>\n\n\n\n<p>Un <a href=\"https:\/\/blumhost.net\/vps\" target=\"_blank\" rel=\"noreferrer noopener\">VPS con Ubuntu<\/a> 22.04 LTS o 24.04 LTS. Ambas versiones son compatibles con Docker y tienen soporte a largo plazo. Si tienes otra distribuci\u00f3n Linux, el proceso es similar pero los comandos de instalaci\u00f3n var\u00edan.<\/p>\n\n\n\n<p>Acceso root o usuario con privilegios sudo. Si acabas de contratar el VPS, tendr\u00e1s acceso root por defecto.<\/p>\n\n\n\n<p>Conexi\u00f3n SSH al servidor. Si no has configurado SSH antes, necesitas el usuario, la contrase\u00f1a o la clave SSH que te proporcion\u00f3 el proveedor al crear el VPS.<\/p>\n\n\n\n<p>Un dominio apuntando al VPS si planeas exponer aplicaciones en internet. No es obligatorio para la instalaci\u00f3n de Docker, pero s\u00ed para usar las aplicaciones desde fuera.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Paso_1_Conecta_al_VPS_por_SSH\"><\/span>Paso 1: Conecta al VPS por SSH<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Abre el terminal en tu ordenador y conecta al VPS con el siguiente comando, sustituyendo la IP por la de tu servidor:<\/p>\n\n\n\n<p>bash<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ssh root@IP_DEL_SERVIDOR<\/code><\/pre>\n\n\n\n<p>Si usas clave SSH en lugar de contrase\u00f1a:<\/p>\n\n\n\n<p>bash<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ssh -i ruta\/a\/tu\/clave.pem root@IP_DEL_SERVIDOR<\/code><\/pre>\n\n\n\n<p>Una vez conectado ver\u00e1s el prompt del servidor. A partir de aqu\u00ed todos los comandos se ejecutan en el VPS, no en tu ordenador.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Paso_2_Actualiza_el_sistema\"><\/span>Paso 2: Actualiza el sistema<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Antes de instalar cualquier cosa, actualiza los paquetes del sistema para asegurarte de que tienes las \u00faltimas versiones de seguridad:<\/p>\n\n\n\n<p>bash<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>apt update &amp;&amp; apt upgrade -y<\/code><\/pre>\n\n\n\n<p>Este comando puede tardar unos minutos dependiendo de cu\u00e1ntas actualizaciones haya pendientes. Cuando termine, el sistema est\u00e1 listo para la instalaci\u00f3n.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Paso_3_Instala_Docker\"><\/span>Paso 3: Instala Docker<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>La forma recomendada de instalar Docker en Ubuntu es usando el script oficial de Docker. Es el m\u00e9todo m\u00e1s r\u00e1pido y garantiza que instalas la versi\u00f3n m\u00e1s reciente directamente desde los repositorios de Docker, no la versi\u00f3n m\u00e1s antigua que suele estar en los repositorios de Ubuntu.<\/p>\n\n\n\n<p>bash<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>curl -fsSL https:\/\/get.docker.com -o get-docker.sh\nsh get-docker.sh<\/code><\/pre>\n\n\n\n<p>El script detecta autom\u00e1ticamente la distribuci\u00f3n y versi\u00f3n de Ubuntu, a\u00f1ade el repositorio oficial de Docker e instala Docker Engine, Docker CLI y el plugin de Docker Compose.<\/p>\n\n\n\n<p>Cuando termine, verifica que Docker se ha instalado correctamente:<\/p>\n\n\n\n<p>bash<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker --version<\/code><\/pre>\n\n\n\n<p>Deber\u00edas ver algo como <code>Docker version 26.x.x, build xxxxxxx<\/code>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Paso_4_Verifica_que_Docker_funciona\"><\/span>Paso 4: Verifica que Docker funciona<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Ejecuta el contenedor de prueba oficial de Docker para confirmar que todo funciona:<\/p>\n\n\n\n<p>bash<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker run hello-world<\/code><\/pre>\n\n\n\n<p>Si Docker est\u00e1 correctamente instalado, ver\u00e1s un mensaje que empieza con \u00abHello from Docker!\u00bb. Ese mensaje confirma que Docker puede descargar im\u00e1genes, crear contenedores y ejecutarlos sin problemas.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Paso_5_Instala_Docker_Compose\"><\/span>Paso 5: Instala Docker Compose<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Docker Compose permite definir y gestionar aplicaciones con m\u00faltiples contenedores usando un archivo YAML. Es imprescindible para la mayor\u00eda de aplicaciones modernas que usan m\u00e1s de un servicio (por ejemplo, una aplicaci\u00f3n web m\u00e1s su base de datos).<\/p>\n\n\n\n<p>En las versiones recientes de Docker, Compose viene incluido como plugin. Verifica que est\u00e1 disponible:<\/p>\n\n\n\n<p>bash<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker compose version<\/code><\/pre>\n\n\n\n<p>Si el comando devuelve una versi\u00f3n, ya lo tienes instalado. Si no, inst\u00e1lalo manualmente:<\/p>\n\n\n\n<p>bash<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>apt install docker-compose-plugin -y<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Paso_6_Configura_Docker_para_que_arranque_con_el_sistema\"><\/span>Paso 6: Configura Docker para que arranque con el sistema<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Por defecto, Docker arranca autom\u00e1ticamente con el servidor. Verifica que el servicio est\u00e1 habilitado:<\/p>\n\n\n\n<p>bash<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>systemctl is-enabled docker<\/code><\/pre>\n\n\n\n<p>Si devuelve <code>enabled<\/code>, est\u00e1 configurado correctamente. Si no:<\/p>\n\n\n\n<p>bash<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>systemctl enable docker\nsystemctl start docker<\/code><\/pre>\n\n\n\n<p>Esto garantiza que Docker y todos los contenedores configurados para reiniciarse autom\u00e1ticamente volver\u00e1n a estar operativos despu\u00e9s de un reinicio del servidor.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Paso_7_Crea_un_usuario_no_root_para_Docker_recomendado\"><\/span>Paso 7: Crea un usuario no root para Docker (recomendado)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Por seguridad, es mejor no usar Docker directamente como root en el d\u00eda a d\u00eda. Puedes a\u00f1adir tu usuario al grupo docker para ejecutar comandos Docker sin sudo:<\/p>\n\n\n\n<p>bash<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>usermod -aG docker tu_usuario<\/code><\/pre>\n\n\n\n<p>Sustituye <code>tu_usuario<\/code> por el nombre del usuario que quieras usar. Despu\u00e9s cierra la sesi\u00f3n SSH y vuelve a conectarte para que el cambio tenga efecto.<\/p>\n\n\n\n<p>A partir de ahora puedes ejecutar comandos Docker sin <code>sudo<\/code> con ese usuario.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Paso_8_Despliega_tu_primera_aplicacion_con_Docker\"><\/span>Paso 8: Despliega tu primera aplicaci\u00f3n con Docker<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Con Docker instalado puedes desplegar cualquier aplicaci\u00f3n en minutos. Un ejemplo pr\u00e1ctico: levantar Nginx como servidor web de prueba.<\/p>\n\n\n\n<p>bash<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker run -d -p 80:80 --name mi-nginx nginx<\/code><\/pre>\n\n\n\n<p>Este comando descarga la imagen oficial de Nginx, crea un contenedor llamado <code>mi-nginx<\/code>, lo ejecuta en segundo plano (<code>-d<\/code>) y mapea el puerto 80 del contenedor al puerto 80 del servidor (<code>-p 80:80<\/code>).<\/p>\n\n\n\n<p>Abre el navegador y escribe la IP de tu VPS. Deber\u00edas ver la p\u00e1gina de bienvenida de Nginx. Con un solo comando tienes un servidor web funcionando.<\/p>\n\n\n\n<p>Para detener y eliminar el contenedor:<\/p>\n\n\n\n<p>bash<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker stop mi-nginx\ndocker rm mi-nginx<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Gestionar_contenedores_comandos_esenciales\"><\/span>Gestionar contenedores: comandos esenciales<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Estos son los comandos de Docker que usar\u00e1s con m\u00e1s frecuencia en el d\u00eda a d\u00eda:<\/p>\n\n\n\n<p>Ver los contenedores en ejecuci\u00f3n:<\/p>\n\n\n\n<p>bash<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker ps<\/code><\/pre>\n\n\n\n<p>Ver todos los contenedores, incluidos los detenidos:<\/p>\n\n\n\n<p>bash<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker ps -a<\/code><\/pre>\n\n\n\n<p>Ver los logs de un contenedor:<\/p>\n\n\n\n<p>bash<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker logs nombre_contenedor<\/code><\/pre>\n\n\n\n<p>Reiniciar un contenedor:<\/p>\n\n\n\n<p>bash<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker restart nombre_contenedor<\/code><\/pre>\n\n\n\n<p>Ver el uso de recursos de los contenedores activos:<\/p>\n\n\n\n<p>bash<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker stats<\/code><\/pre>\n\n\n\n<p>Eliminar im\u00e1genes y contenedores sin usar para liberar espacio:<\/p>\n\n\n\n<p>bash<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker system prune -a<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Instalar_aplicaciones_con_Docker_Compose\"><\/span>Instalar aplicaciones con Docker Compose<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>La mayor\u00eda de aplicaciones que se despliegan en VPS usan Docker Compose para definir todos sus servicios en un archivo <code>docker-compose.yml<\/code>. El flujo es siempre el mismo:<\/p>\n\n\n\n<p>Crea un directorio para la aplicaci\u00f3n:<\/p>\n\n\n\n<p>bash<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mkdir \/opt\/mi-aplicacion\ncd \/opt\/mi-aplicacion<\/code><\/pre>\n\n\n\n<p>Crea el archivo <code>docker-compose.yml<\/code> con la configuraci\u00f3n de la aplicaci\u00f3n. Por ejemplo, para N8N:<\/p>\n\n\n\n<p>yaml<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>version: '3.8'\nservices:\n  n8n:\n    image: n8nio\/n8n\n    restart: always\n    ports:\n      - \"5678:5678\"\n    environment:\n      - N8N_HOST=tudominio.es\n      - WEBHOOK_URL=https:\/\/tudominio.es\/\n    volumes:\n      - n8n_data:\/home\/node\/.n8n\n\nvolumes:\n  n8n_data:<\/code><\/pre>\n\n\n\n<p>Levanta la aplicaci\u00f3n:<\/p>\n\n\n\n<p>bash<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker compose up -d<\/code><\/pre>\n\n\n\n<p>Docker descarga las im\u00e1genes necesarias, crea los contenedores y los pone en marcha. La aplicaci\u00f3n est\u00e1 disponible en el puerto definido.<\/p>\n\n\n\n<p>Para actualizarla a la \u00faltima versi\u00f3n:<\/p>\n\n\n\n<p>bash<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker compose pull\ndocker compose up -d<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Que_VPS_necesitas_para_Docker\"><\/span>Qu\u00e9 VPS necesitas para Docker<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Docker en s\u00ed consume pocos recursos, pero las aplicaciones que corren dentro de los contenedores s\u00ed los consumen. La regla general es dimensionar el VPS seg\u00fan las aplicaciones que vayas a alojar, no seg\u00fan Docker.<\/p>\n\n\n\n<p>Para un uso b\u00e1sico \u2014una o dos aplicaciones ligeras como N8N, Ghost o Gitea\u2014 un VPS con 2 n\u00facleos y 4 GB de RAM es suficiente. Para aplicaciones m\u00e1s pesadas o varios servicios simult\u00e1neos, 4 n\u00facleos y 8 GB es un punto de partida m\u00e1s c\u00f3modo.<\/p>\n\n\n\n<p>Los <a href=\"https:\/\/blumhost.net\/vps\" target=\"_blank\" rel=\"noreferrer noopener\">VPS de BlumHost<\/a> vienen con Ubuntu disponible como sistema operativo y se entregan en minutos. Puedes seguir esta gu\u00eda desde el primer acceso SSH sin ninguna configuraci\u00f3n previa adicional. Si necesitas m\u00e1s potencia, los <a href=\"https:\/\/blumhost.net\/vps-optimizado\" target=\"_blank\" rel=\"noreferrer noopener\">VPS optimizados con CPU Ryzen y RAM DDR5<\/a> son la opci\u00f3n para cargas de trabajo m\u00e1s exigentes.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Preguntas_frecuentes_sobre_Docker_en_VPS\"><\/span>Preguntas frecuentes sobre Docker en VPS<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p><strong>\u00bfDocker funciona en todos los planes de VPS de BlumHost?<\/strong> S\u00ed. Docker funciona en cualquier VPS con Linux y acceso root. Todos los planes de VPS de BlumHost permiten instalar Docker sin restricciones.<\/p>\n\n\n\n<p><strong>\u00bfPuedo usar Docker junto con un panel de control como cPanel o Plesk?<\/strong> No es recomendable mezclar Docker con cPanel en el mismo servidor. cPanel gestiona el servidor de forma global y puede entrar en conflicto con los contenedores Docker. Si quieres usar Docker, lo m\u00e1s limpio es un VPS sin panel de control gestionado manualmente.<\/p>\n\n\n\n<p><strong>\u00bfQu\u00e9 pasa con los datos si el contenedor se reinicia?<\/strong> Los datos dentro de un contenedor se pierden si el contenedor se elimina. Por eso es imprescindible usar vol\u00famenes de Docker para persistir los datos importantes fuera del contenedor, como se muestra en el ejemplo del docker-compose.yml.<\/p>\n\n\n\n<p><strong>\u00bfDocker afecta a la seguridad del servidor?<\/strong> Docker tiene su propio modelo de seguridad basado en el aislamiento de contenedores. Sin embargo, no sustituye a las buenas pr\u00e1cticas de seguridad del servidor: mantener el sistema actualizado, usar autenticaci\u00f3n SSH con clave, configurar un firewall y no exponer puertos innecesarios. Puedes consultar la <a href=\"https:\/\/blumhost.net\/blog\/seguridad-vps-linux-guia\/\" target=\"_blank\" rel=\"noreferrer noopener\">gu\u00eda de seguridad para VPS Linux de BlumHost<\/a> para los pasos b\u00e1sicos recomendados.<\/p>\n\n\n\n<p><strong>\u00bfPuedo instalar Portainer para gestionar Docker con interfaz gr\u00e1fica?<\/strong> S\u00ed. Portainer es una interfaz web para gestionar Docker visualmente. Se instala como un contenedor m\u00e1s y es especialmente \u00fatil si prefieres no trabajar siempre desde la terminal.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Por qu\u00e9 Docker ha cambiado la forma de desplegar aplicaciones en un VPS Hace unos a\u00f1os, instalar una aplicaci\u00f3n en un servidor implicaba configurar dependencias, versiones de librer\u00edas y variables de entorno que pod\u00edan entrar en conflicto entre s\u00ed. Si&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[77,66,55],"tags":[116,48],"class_list":["post-410","post","type-post","status-publish","format-standard","hentry","category-guias-para-principiantes","category-tutoriales","category-vps","tag-docker-vps","tag-vps"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>C\u00f3mo instalar Docker en un VPS Ubuntu: gu\u00eda paso a paso en 2026 - Blog de BlumHost<\/title>\n<meta name=\"description\" content=\"Gu\u00eda paso a paso para instalar Docker en un VPS Ubuntu en 2026. Configuraci\u00f3n completa desde cero, Docker Compose incluido y ejemplos pr\u00e1cticos listos para producci\u00f3n.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blumhost.net\/blog\/instalar-docker-vps-ubuntu\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"C\u00f3mo instalar Docker en un VPS Ubuntu: gu\u00eda paso a paso en 2026 - Blog de BlumHost\" \/>\n<meta property=\"og:description\" content=\"Gu\u00eda paso a paso para instalar Docker en un VPS Ubuntu en 2026. Configuraci\u00f3n completa desde cero, Docker Compose incluido y ejemplos pr\u00e1cticos listos para producci\u00f3n.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blumhost.net\/blog\/instalar-docker-vps-ubuntu\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog de BlumHost\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/BlumHost\" \/>\n<meta property=\"article:published_time\" content=\"2026-05-12T08:02:00+00:00\" \/>\n<meta name=\"author\" content=\"Miguel Taboada\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Miguel Taboada\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/blumhost.net\/blog\/instalar-docker-vps-ubuntu\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/blumhost.net\/blog\/instalar-docker-vps-ubuntu\/\"},\"author\":{\"name\":\"Miguel Taboada\",\"@id\":\"https:\/\/blumhost.net\/blog\/#\/schema\/person\/33aa890af362ded38723fc4c1ef65ee7\"},\"headline\":\"C\u00f3mo instalar Docker en un VPS Ubuntu: gu\u00eda paso a paso en 2026\",\"datePublished\":\"2026-05-12T08:02:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/blumhost.net\/blog\/instalar-docker-vps-ubuntu\/\"},\"wordCount\":1462,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/blumhost.net\/blog\/#organization\"},\"keywords\":[\"docker vps\",\"vps\"],\"articleSection\":[\"Gu\u00edas para principiantes\",\"tutoriales\",\"VPS\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/blumhost.net\/blog\/instalar-docker-vps-ubuntu\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blumhost.net\/blog\/instalar-docker-vps-ubuntu\/\",\"url\":\"https:\/\/blumhost.net\/blog\/instalar-docker-vps-ubuntu\/\",\"name\":\"C\u00f3mo instalar Docker en un VPS Ubuntu: gu\u00eda paso a paso en 2026 - Blog de BlumHost\",\"isPartOf\":{\"@id\":\"https:\/\/blumhost.net\/blog\/#website\"},\"datePublished\":\"2026-05-12T08:02:00+00:00\",\"description\":\"Gu\u00eda paso a paso para instalar Docker en un VPS Ubuntu en 2026. Configuraci\u00f3n completa desde cero, Docker Compose incluido y ejemplos pr\u00e1cticos listos para producci\u00f3n.\",\"breadcrumb\":{\"@id\":\"https:\/\/blumhost.net\/blog\/instalar-docker-vps-ubuntu\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blumhost.net\/blog\/instalar-docker-vps-ubuntu\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blumhost.net\/blog\/instalar-docker-vps-ubuntu\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\/\/blumhost.net\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"C\u00f3mo instalar Docker en un VPS Ubuntu: gu\u00eda paso a paso en 2026\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blumhost.net\/blog\/#website\",\"url\":\"https:\/\/blumhost.net\/blog\/\",\"name\":\"Blog de BlumHost\",\"description\":\"Gu\u00eda completa con consejos pr\u00e1cticos, precios y ventajas reales para tu proyecto.\",\"publisher\":{\"@id\":\"https:\/\/blumhost.net\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blumhost.net\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/blumhost.net\/blog\/#organization\",\"name\":\"Blog de BlumHost\",\"url\":\"https:\/\/blumhost.net\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/blumhost.net\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/blumhost.net\/blog\/wp-content\/uploads\/2025\/05\/cropped-blumhost.webp\",\"contentUrl\":\"https:\/\/blumhost.net\/blog\/wp-content\/uploads\/2025\/05\/cropped-blumhost.webp\",\"width\":240,\"height\":67,\"caption\":\"Blog de BlumHost\"},\"image\":{\"@id\":\"https:\/\/blumhost.net\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/BlumHost\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/blumhost.net\/blog\/#\/schema\/person\/33aa890af362ded38723fc4c1ef65ee7\",\"name\":\"Miguel Taboada\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/blumhost.net\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/bf9731b74ae636e457ef0ddcebbeb20f37a75f89668501ce0a80767a29e02722?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/bf9731b74ae636e457ef0ddcebbeb20f37a75f89668501ce0a80767a29e02722?s=96&d=mm&r=g\",\"caption\":\"Miguel Taboada\"},\"description\":\"Ingeniero en Telecomunicaciones e Inform\u00e1tica. Cre\u00e9 BlumHost para ofrecer un hosting distinto a los dem\u00e1s, que ofrezca la mejor atenci\u00f3n al cliente, al menor precio y con la mejor calidad.\",\"sameAs\":[\"https:\/\/blumhost.net\/\",\"https:\/\/es.linkedin.com\/in\/miguel-taboada-iglesias\"],\"url\":\"https:\/\/blumhost.net\/blog\/author\/miguel\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"C\u00f3mo instalar Docker en un VPS Ubuntu: gu\u00eda paso a paso en 2026 - Blog de BlumHost","description":"Gu\u00eda paso a paso para instalar Docker en un VPS Ubuntu en 2026. Configuraci\u00f3n completa desde cero, Docker Compose incluido y ejemplos pr\u00e1cticos listos para producci\u00f3n.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blumhost.net\/blog\/instalar-docker-vps-ubuntu\/","og_locale":"es_ES","og_type":"article","og_title":"C\u00f3mo instalar Docker en un VPS Ubuntu: gu\u00eda paso a paso en 2026 - Blog de BlumHost","og_description":"Gu\u00eda paso a paso para instalar Docker en un VPS Ubuntu en 2026. Configuraci\u00f3n completa desde cero, Docker Compose incluido y ejemplos pr\u00e1cticos listos para producci\u00f3n.","og_url":"https:\/\/blumhost.net\/blog\/instalar-docker-vps-ubuntu\/","og_site_name":"Blog de BlumHost","article_publisher":"https:\/\/www.facebook.com\/BlumHost","article_published_time":"2026-05-12T08:02:00+00:00","author":"Miguel Taboada","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Miguel Taboada","Tiempo de lectura":"7 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blumhost.net\/blog\/instalar-docker-vps-ubuntu\/#article","isPartOf":{"@id":"https:\/\/blumhost.net\/blog\/instalar-docker-vps-ubuntu\/"},"author":{"name":"Miguel Taboada","@id":"https:\/\/blumhost.net\/blog\/#\/schema\/person\/33aa890af362ded38723fc4c1ef65ee7"},"headline":"C\u00f3mo instalar Docker en un VPS Ubuntu: gu\u00eda paso a paso en 2026","datePublished":"2026-05-12T08:02:00+00:00","mainEntityOfPage":{"@id":"https:\/\/blumhost.net\/blog\/instalar-docker-vps-ubuntu\/"},"wordCount":1462,"commentCount":0,"publisher":{"@id":"https:\/\/blumhost.net\/blog\/#organization"},"keywords":["docker vps","vps"],"articleSection":["Gu\u00edas para principiantes","tutoriales","VPS"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blumhost.net\/blog\/instalar-docker-vps-ubuntu\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blumhost.net\/blog\/instalar-docker-vps-ubuntu\/","url":"https:\/\/blumhost.net\/blog\/instalar-docker-vps-ubuntu\/","name":"C\u00f3mo instalar Docker en un VPS Ubuntu: gu\u00eda paso a paso en 2026 - Blog de BlumHost","isPartOf":{"@id":"https:\/\/blumhost.net\/blog\/#website"},"datePublished":"2026-05-12T08:02:00+00:00","description":"Gu\u00eda paso a paso para instalar Docker en un VPS Ubuntu en 2026. Configuraci\u00f3n completa desde cero, Docker Compose incluido y ejemplos pr\u00e1cticos listos para producci\u00f3n.","breadcrumb":{"@id":"https:\/\/blumhost.net\/blog\/instalar-docker-vps-ubuntu\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blumhost.net\/blog\/instalar-docker-vps-ubuntu\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/blumhost.net\/blog\/instalar-docker-vps-ubuntu\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/blumhost.net\/blog\/"},{"@type":"ListItem","position":2,"name":"C\u00f3mo instalar Docker en un VPS Ubuntu: gu\u00eda paso a paso en 2026"}]},{"@type":"WebSite","@id":"https:\/\/blumhost.net\/blog\/#website","url":"https:\/\/blumhost.net\/blog\/","name":"Blog de BlumHost","description":"Gu\u00eda completa con consejos pr\u00e1cticos, precios y ventajas reales para tu proyecto.","publisher":{"@id":"https:\/\/blumhost.net\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blumhost.net\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/blumhost.net\/blog\/#organization","name":"Blog de BlumHost","url":"https:\/\/blumhost.net\/blog\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/blumhost.net\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/blumhost.net\/blog\/wp-content\/uploads\/2025\/05\/cropped-blumhost.webp","contentUrl":"https:\/\/blumhost.net\/blog\/wp-content\/uploads\/2025\/05\/cropped-blumhost.webp","width":240,"height":67,"caption":"Blog de BlumHost"},"image":{"@id":"https:\/\/blumhost.net\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/BlumHost"]},{"@type":"Person","@id":"https:\/\/blumhost.net\/blog\/#\/schema\/person\/33aa890af362ded38723fc4c1ef65ee7","name":"Miguel Taboada","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/blumhost.net\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/bf9731b74ae636e457ef0ddcebbeb20f37a75f89668501ce0a80767a29e02722?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/bf9731b74ae636e457ef0ddcebbeb20f37a75f89668501ce0a80767a29e02722?s=96&d=mm&r=g","caption":"Miguel Taboada"},"description":"Ingeniero en Telecomunicaciones e Inform\u00e1tica. Cre\u00e9 BlumHost para ofrecer un hosting distinto a los dem\u00e1s, que ofrezca la mejor atenci\u00f3n al cliente, al menor precio y con la mejor calidad.","sameAs":["https:\/\/blumhost.net\/","https:\/\/es.linkedin.com\/in\/miguel-taboada-iglesias"],"url":"https:\/\/blumhost.net\/blog\/author\/miguel\/"}]}},"_links":{"self":[{"href":"https:\/\/blumhost.net\/blog\/wp-json\/wp\/v2\/posts\/410","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blumhost.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blumhost.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blumhost.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blumhost.net\/blog\/wp-json\/wp\/v2\/comments?post=410"}],"version-history":[{"count":1,"href":"https:\/\/blumhost.net\/blog\/wp-json\/wp\/v2\/posts\/410\/revisions"}],"predecessor-version":[{"id":411,"href":"https:\/\/blumhost.net\/blog\/wp-json\/wp\/v2\/posts\/410\/revisions\/411"}],"wp:attachment":[{"href":"https:\/\/blumhost.net\/blog\/wp-json\/wp\/v2\/media?parent=410"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blumhost.net\/blog\/wp-json\/wp\/v2\/categories?post=410"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blumhost.net\/blog\/wp-json\/wp\/v2\/tags?post=410"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}