Guía de Configuración de Portainer 2026: Gestión de Docker Simplificada
Instale Portainer CE en su VPS para gestionar contenedores Docker con una interfaz web. Guía completa con configuración, stacks, plantillas y gestión multi-servidor.
Guía de Configuración de Portainer: Gestión de Docker Simplificada
Portainer le ofrece una interfaz web para gestionar contenedores, imágenes, volúmenes y redes de Docker. En lugar de memorizar comandos de docker en la línea de comandos, obtiene un panel limpio que hace la gestión de contenedores visual y accesible.
¿Qué es Portainer?
Portainer es una interfaz de gestión ligera para Docker y Kubernetes:
- Panel web — Vea todos los contenedores, imágenes y volúmenes de un vistazo
- Gestión de stacks — Despliegue stacks de Docker Compose desde la interfaz
- Plantillas de aplicaciones — Despliegue con un clic más de 100 aplicaciones populares
- Multi-entorno — Gestione múltiples hosts Docker desde una sola interfaz
- Gestión de usuarios — Acceso por equipos con permisos basados en roles
- Consola de contenedor — Acceda al shell de los contenedores desde el navegador
- Registros y estadísticas — Monitorización en tiempo real integrada
Se ejecuta como un único contenedor Docker y utiliza recursos mínimos.
Portainer CE vs Business
| Característica | Community (Gratuito) | Business ($) |
|---|---|---|
| Gestión de contenedores | ✅ | ✅ |
| Docker Compose/Stacks | ✅ | ✅ |
| Plantillas de aplicaciones | ✅ | ✅ |
| Acceso basado en roles | ✅ | ✅ |
| Múltiples entornos | ✅ | ✅ |
| Soporte de Kubernetes | ✅ | ✅ |
| Gestión de registros | Básica | Avanzada |
| Despliegues GitOps | ❌ | ✅ |
| Autenticación externa (LDAP/OAuth) | ❌ | ✅ |
| Soporte | Comunidad | Profesional |
Para autoalojamiento y equipos pequeños: CE es más que suficiente. Business es para organizaciones que necesitan autenticación empresarial y registros de auditoría.
Requisitos del VPS
Portainer en sí es ligero, pero necesita espacio para sus contenedores:
- Mínimo: 1 vCPU, 1GB RAM, 20GB almacenamiento
- Recomendado: 2 vCPU, 4GB RAM, 40GB+ almacenamiento
- SO: Ubuntu 22.04+, Debian 12+, o cualquier Linux con Docker
- Puertos: 9443 (interfaz HTTPS), 8000 (Edge agents, opcional)
Proveedores de VPS Recomendados
| Proveedor | Plan | Especificaciones | Precio |
|---|---|---|---|
| Hostinger | KVM1 | 1 vCPU, 4GB RAM | $4.99/mes |
| Hetzner | CX22 | 2 vCPU, 4GB RAM | €5.49/mes |
| DigitalOcean | Basic | 2 vCPU, 2GB RAM | $12/mes |
| Vultr | VC2 | 2 vCPU, 4GB RAM | $24/mes |
Mejor relación calidad-precio: Hostinger KVM1 le ofrece 4GB de RAM por $4.99/mes — suficiente para Portainer más una docena de contenedores.
Guía de Instalación
Paso 1: Cree Su VPS
- Regístrese en el proveedor elegido (recomendamos Hostinger)
- Cree un VPS con Ubuntu 22.04 o Debian 12
- Seleccione al menos 2GB de RAM
- Añada su clave SSH
- Anote la IP del servidor
Paso 2: Instale Docker
Conéctese por SSH a su servidor e instale Docker:
ssh root@your-server-ip
# Actualizar el sistema
apt update && apt upgrade -y
# Instalar Docker usando el script oficial
curl -fsSL https://get.docker.com | sh
# Verificar la instalación
docker --version
docker run hello-world
Paso 3: Instale Portainer CE
Cree un volumen para los datos de Portainer y ejecute el contenedor:
# Crear volumen de datos
docker volume create portainer_data
# Ejecutar Portainer
docker run -d \
-p 8000:8000 \
-p 9443:9443 \
--name portainer \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer-ce:sts
Eso es todo. Portainer está en funcionamiento.
Paso 4: Acceda al Panel
Abra su navegador:
https://your-server-ip:9443
Verá una advertencia de certificado SSL autofirmado — es normal, acéptela.
En la primera visita:
- Cree su cuenta de administrador
- Establezca una contraseña segura (se requieren 12+ caracteres)
- Haga clic en Get Started para conectarse al entorno Docker local
Ahora tiene una instancia de Portainer completamente funcional.
Paso 5: Configure SSL con Proxy Inverso (Opcional)
Para un SSL adecuado, use Caddy o Traefik como proxy inverso:
Ejemplo con Caddy:
portainer.yourdomain.com {
reverse_proxy localhost:9443 {
transport http {
tls_insecure_skip_verify
}
}
}
O con Nginx:
server {
listen 443 ssl;
server_name portainer.yourdomain.com;
ssl_certificate /etc/letsencrypt/live/portainer.yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/portainer.yourdomain.com/privkey.pem;
location / {
proxy_pass https://localhost:9443;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Apunte el registro DNS A de portainer.yourdomain.com → la IP de su servidor.
Despliegue de Contenedores
Despliegue desde Plantillas de Aplicaciones
Portainer incluye más de 100 plantillas integradas:
- Vaya a App Templates en la barra lateral
- Busque o explore (WordPress, Nginx, MySQL, Redis, etc.)
- Haga clic en la plantilla
- Configure los ajustes (nombre, puertos, volúmenes)
- Haga clic en Deploy the container
Plantillas populares:
- WordPress — Blog/CMS con MySQL
- Nginx — Servidor web / proxy inverso
- PostgreSQL — Servidor de base de datos
- Redis — Caché / broker de mensajes
- GitLab CE — Alojamiento Git
- Nextcloud — Almacenamiento en la nube autoalojado
Despliegue con Docker Compose (Stacks)
Los stacks son la forma en que Portainer gestiona los despliegues de Docker Compose:
- Vaya a Stacks → Add Stack
- Nombre su stack
- Pegue su YAML de Docker Compose:
services:
app:
image: nginx:alpine
ports:
- "8080:80"
volumes:
- app_data:/usr/share/nginx/html
restart: unless-stopped
volumes:
app_data:
- Haga clic en Deploy the stack
También puede importar archivos compose desde un repositorio Git — útil para flujos de trabajo GitOps.
Despliegue de un Contenedor Individual
Para contenedores rápidos de uso único:
- Vaya a Containers → Add Container
- Establezca el Name y la Image (ej.,
redis:alpine) - Configure:
- Port mapping — Puerto del host → Puerto del contenedor
- Volumes — Almacenamiento persistente
- Environment variables — Valores de configuración
- Restart policy — Always, on-failure, etc.
- Haga clic en Deploy the container
Gestión de Contenedores
Acciones de Contenedor
Desde la lista de Containers puede:
- Start/Stop/Restart — Controlar el estado del contenedor
- Logs — Ver la salida del contenedor en tiempo real
- Console — Acceder al shell del contenedor (bash, sh o personalizado)
- Inspect — Ver la configuración completa del contenedor
- Stats — Gráficos de CPU, memoria, red, E/S
- Duplicate/Edit — Clonar o modificar la configuración del contenedor
Consola del Contenedor
Una de las mejores características de Portainer. ¿Necesita depurar algo?
- Haga clic en el contenedor → Console
- Seleccione el shell:
/bin/basho/bin/sh - Haga clic en Connect
Ya está dentro del contenedor. Sin SSH, sin necesidad de comandos docker exec.
Operaciones Masivas
Seleccione múltiples contenedores y:
- Detenga todos los seleccionados
- Inicie todos los seleccionados
- Elimine todos los seleccionados
- Termine todos los seleccionados
Útil para gestionar servicios relacionados de forma conjunta.
Gestión de Imágenes
Descargar Imágenes
- Images → Ingrese el nombre de la imagen (ej.,
node:20-alpine) - Haga clic en Pull the image
- La imagen se descarga y queda lista para usar
Limpiar Imágenes No Utilizadas
Las imágenes de Docker se acumulan rápidamente:
- Images → Marque unused images
- Seleccione todas → Remove
- O use el botón Prune para limpiar todo lo no utilizado
Esto es equivalente a docker image prune -a pero visual y más seguro.
Gestión de Volúmenes
Crear Volúmenes
- Volumes → Add Volume
- Nómbrelo (ej.,
postgres_data) - Haga clic en Create the volume
Explorar el Contenido de los Volúmenes
Portainer le permite explorar archivos dentro de los volúmenes — útil para verificar datos sin acceder al shell de los contenedores.
Respaldar Volúmenes
Para datos críticos, respalde los volúmenes:
docker run --rm \
-v postgres_data:/data \
-v /backup:/backup \
alpine tar czf /backup/postgres-backup.tar.gz -C /data .
Gestión de Redes
Crear Redes
- Networks → Add Network
- Nómbrela, seleccione el controlador (
bridge,overlay,macvlan) - Opcionalmente configure subred y puerta de enlace
- Haga clic en Create the network
Conectar Contenedores
Para permitir que los contenedores se comuniquen:
- Abra la red
- Join a container → Seleccione el contenedor
- Ahora ambos contenedores pueden comunicarse entre sí por nombre
Así es como conecta su contenedor de aplicación con su contenedor de base de datos sin exponer los puertos de la base de datos públicamente.
Gestión Multi-Servidor
Añadir Hosts Docker Remotos
Portainer puede gestionar múltiples servidores desde un solo panel:
Método 1: Portainer Agent (recomendado)
En el servidor remoto:
docker run -d \
-p 9001:9001 \
--name portainer_agent \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /var/lib/docker/volumes:/var/lib/docker/volumes \
portainer/agent:sts
En Portainer:
- Environments → Add Environment
- Seleccione Agent
- Ingrese:
remote-server-ip:9001 - Nómbrelo, haga clic en Connect
Método 2: Docker API (menos seguro)
Habilite Docker TCP en el host remoto y conéctese directamente. Use esto únicamente a través de un túnel seguro.
Edge Agents
Para servidores detrás de firewalls o NAT:
- Environments → Add Environment → Edge Agent
- Copie el comando de instalación generado
- Ejecútelo en el servidor remoto
- El agente se comunica de vuelta a través del puerto 8000
No se necesitan puertos de entrada en el servidor remoto.
Gestión de Usuarios
Crear Equipos
- Users → Teams → Add Team
- Nombre el equipo (ej., “Developers”, “Ops”)
Añadir Usuarios
- Users → Add User
- Establezca nombre de usuario y contraseña
- Asigne a un equipo
- Establezca el rol: Administrator o User
Control de Acceso
Acceso por entorno y por recurso:
- Acceso completo — Control total
- Limitado — Solo stacks/contenedores asignados
- Solo lectura — Ver pero no modificar
Esto le permite dar acceso a los desarrolladores al entorno de staging mientras mantiene producción restringido.
Portainer con Docker Compose
Si prefiere gestionar Portainer con Compose:
services:
portainer:
image: portainer/portainer-ce:sts
container_name: portainer
restart: always
ports:
- "8000:8000"
- "9443:9443"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data
volumes:
portainer_data:
Guárdelo como docker-compose.yml y ejecute:
docker compose up -d
Consejos de Rendimiento
1. Habilitar Swap
Si ejecuta en un VPS pequeño:
fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile swap swap defaults 0 0' >> /etc/fstab
2. Establecer Límites de Recursos
En Portainer, al crear contenedores:
- Establezca el límite de memoria (ej., 512MB para una aplicación Node)
- Establezca el límite de CPU (ej., 0.5 CPUs)
Evita que un solo contenedor consuma todos los recursos.
3. Limpieza Regular
Programe la limpieza de Docker:
# Añadir al crontab
0 3 * * 0 docker system prune -af --volumes 2>&1 | logger -t docker-prune
O use la limpieza de imágenes integrada de Portainer.
4. Usar Imágenes Alpine
Cuando sea posible, use las variantes alpine:
node:20-alpineen lugar denode:20(50MB vs 350MB)python:3.12-alpineen lugar depython:3.12nginx:alpineen lugar denginx
Solución de Problemas
No Puede Acceder a la Interfaz de Portainer
# Verificar si el contenedor está ejecutándose
docker ps | grep portainer
# Revisar los registros
docker logs portainer
# Verificar que el puerto esté abierto
ss -tlnp | grep 9443
# Revisar el firewall
ufw status
ufw allow 9443
El Contenedor No Inicia
- Revise los registros: Containers → Seleccione el contenedor → Logs
- Problemas comunes:
- Puerto ya en uso → Cambie el puerto del host
- Permiso denegado en el volumen → Verifique la propiedad
- Imagen no encontrada → Verifique el nombre de la imagen
El Despliegue del Stack Falla
- Verifique la sintaxis del YAML de compose
- Compruebe que todas las imágenes existan y sean accesibles
- Busque conflictos de puertos con contenedores en ejecución
- Revise el registro de despliegue en los detalles del stack
Sin Espacio en Disco
# Verificar uso
df -h
# Limpiar Docker
docker system prune -af --volumes
# Verificar imágenes grandes
docker images --format "{{.Repository}}:{{.Tag}} {{.Size}}" | sort -k2 -h
Portainer vs Alternativas
| Herramienta | Interfaz | Complejidad | Ideal Para |
|---|---|---|---|
| Portainer | GUI Web | Baja | Gestión de contenedores |
| Coolify | GUI Web | Baja | Despliegue de apps (PaaS) |
| Dokploy | GUI Web | Baja | Despliegue de apps (PaaS) |
| Yacht | GUI Web | Baja | Interfaz Docker simple |
| Dockge | GUI Web | Baja | Gestión solo de Compose |
| Lazydocker | Terminal | Baja | Monitorización basada en CLI |
Portainer es la mejor interfaz de gestión Docker de propósito general. Use Coolify o Dokploy si desea funciones PaaS (despliegue desde git, SSL automático). Use Portainer si desea control total sobre contenedores individuales.
Preguntas Frecuentes
¿Cuánta RAM usa Portainer?
Aproximadamente 50-100MB. Es muy ligero.
¿Puedo gestionar Docker Swarm con Portainer?
Sí. Portainer soporta Docker Standalone, Docker Swarm y Kubernetes.
¿Es Portainer CE realmente gratuito?
Sí, permanentemente gratuito para hasta 5 entornos. Sin limitaciones de funcionalidades dentro de CE.
¿Cómo actualizo Portainer?
docker stop portainer
docker rm portainer
docker pull portainer/portainer-ce:sts
docker run -d -p 8000:8000 -p 9443:9443 \
--name portainer --restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer-ce:sts
Sus datos persisten en el volumen portainer_data.
¿Puede Portainer reemplazar a Kubernetes?
Para despliegues pequeños y medianos, sí. Si ejecuta menos de 50 contenedores en unos pocos servidores, Portainer con Docker es más simple y económico que Kubernetes.
Resumen
Portainer transforma la gestión de Docker de una experiencia exclusiva de línea de comandos a algo visual y accesible. Ya sea que ejecute unos pocos contenedores en un solo VPS o gestione múltiples servidores, le ofrece un panel limpio sin la complejidad de Kubernetes.
Configuración Recomendada:
| Componente | Elección | Costo |
|---|---|---|
| VPS | Hostinger KVM1 | $4.99/mes |
| Gestión | Portainer CE | Gratuito |
| Proxy Inverso | Caddy | Gratuito |
| Total | $4.99/mes |
Comience aquí: Obtenga un VPS de Hostinger → Instale Docker → Despliegue Portainer → Gestione todo desde su navegador.
Ready to get started?
Get the best VPS hosting deal today. Hostinger offers 4GB RAM VPS starting at just $4.99/mo.
Get Hostinger VPS — $4.99/mo// up to 75% off + free domain included
// related topics
// related guides
$1 VPS Hosting 2026: Cheapest VPS Servers Starting at $1/Month
Looking for $1 VPS hosting? Compare the cheapest VPS providers starting from $1-3/month. Real specs, no hidden fees, honest reviews of budget VPS options.
tutorialCaddy Reverse Proxy Guide 2026: Automatic HTTPS Made Easy
Set up Caddy as a reverse proxy with automatic HTTPS, zero-config SSL, and simple Caddyfile syntax. Complete VPS deployment guide.
tutorialCloudflare Tunnel VPS Guide 2026: Expose Services Without Opening Ports
Set up Cloudflare Tunnel on your VPS to expose web apps securely without opening ports or revealing your server IP. Complete guide with Docker and DNS config.
tutorialCoolify VPS Setup Guide 2026: Self-Hosted Vercel Alternative
Deploy Coolify on your VPS for a self-hosted Vercel/Netlify experience. Complete setup guide with Docker, SSL, and app deployments.
Andrius Putna
I am Andrius Putna. Geek. Since early 2000 in love tinkering with web technologies. Now AI. Bridging business and technology to drive meaningful impact. Combining expertise in customer experience, technology, and business strategy to deliver valuable insights. Father, open-source contributor, investor, 2xIronman, MBA graduate.
// last updated: March 13, 2026. Disclosure: This article may contain affiliate links.