Skip to main content
[ PIER ]

Portainer

La UI web para Docker, Docker Swarm y Kubernetes.

Service #docker#management#ui#containers#devops

Portainer es una UI web ligera para gestionar contenedores Docker, clusters Docker Swarm y namespaces Kubernetes. Da a desarrolladores y equipos de ops una GUI pulida para inspeccionar contenedores corriendo, ver logs, gestionar volúmenes y networks, desplegar stacks — sin tener que memorizar comandos docker / kubectl.

Desplegar con Pier

  1. 1 Abre el panel de Pier y haz clic en Add service.
  2. 2 Elige Portainer en la lista de plantillas.
  3. 3 Elige la versión, asigna un nombre al servicio y Pier provisionará automáticamente el contenedor, el almacenamiento y los puertos.
  4. 4 Vincula un dominio si quieres HTTPS. Traefik genera el certificado de Let's Encrypt automáticamente.

¿Qué es Portainer?

Portainer es la UI web más popular del mundo para Docker, Docker Swarm y Kubernetes. Empezó en 2016 como side project para dar al CLI Docker una cara amigable, ha crecido hasta convertirse en una GUI pulida y production- ready usada por cientos de miles de equipos para gestionar despliegues de contenedores sin memorizar cada flag de docker/kubectl.

Se conecta al socket Docker local (o endpoints Docker / Swarm / K8s remotos) y te da una vista clicable de contenedores, imágenes, volúmenes, networks, builds, stacks, deployments. Puedes parar un contenedor mal comportado, exec un shell dentro, hacer tail de sus logs o redeploy un stack Docker Compose entero — todo desde el navegador.

Cómo lo despliega Pier

Pier usa la imagen Docker oficial portainer/portainer-ce (Community Edition). El contenedor monta /var/run/docker.sock del host (para que Portainer pueda ver y gestionar todos los contenedores en el mismo engine Docker) y /data como volumen persistente para la DB y config de Portainer.

Puertos por defecto: 9000/tcp (UI HTTP) y 9443/tcp (HTTPS integrado). El usuario admin se crea en la primera visita vía el prompt de la UI. Para HTTPS limpio, adjunta un dominio en Pier — Traefik maneja la terminación TLS y proxia al 9000 interno.

Primer login: la primera visita a la UI te pide crear el usuario admin. Después, el login está en /.

Cuándo NO usar Portainer

Pier mismo cubre la mayoría de casos diarios de Portainer (plantillas de servicio, HTTPS, backups, logs, gestión de env). Usa Portainer junto a Pier cuando quieras acceso Docker de menor nivel — inspeccionar contenedores arbitrarios que Pier no creó, gestionar servicios Swarm, debug interfaces de network, attach a logs de contenedores del sistema. Si tu caso de uso encaja totalmente dentro de las plantillas gestionadas de Pier, puede que no necesites Portainer en absoluto.

Características clave

UI Docker completa

Ver contenedores corriendo, start/stop/restart, exec dentro, ver logs en tiempo real, navegar imágenes, networks, volúmenes, builds. Cualquier cosa que harías desde el CLI `docker`.

Docker Compose / Stacks

Despliega apps multi-contenedor desde ficheros Docker Compose vía la UI. Edita YAML en el navegador; redeploy con un clic. Soporte de webhooks para auto-deploys de CI.

Dashboard multi-entorno

Una instancia de Portainer gestiona muchos hosts Docker, clusters Swarm y namespaces Kubernetes. Agrupa endpoints por tag; cambia entre ellos con un dropdown.

Acceso de usuarios y RBAC

Usuarios + teams + roles integrados. Restringe acceso por entorno, por tipo de recurso, por endpoint. LDAP, OAuth (Google, GitHub, GitLab, Azure AD) y OpenID Connect soportados.

Plantillas de app

Despliegues en un clic desde un catálogo de plantillas predefinidas. Añade tus propias plantillas JSON para despliegues internos de tu organización.

Soporte Edge Compute

Gestiona hosts Docker remotos que inician la conexión (NAT, firewall-friendly). Útil para despliegues IoT en flotas o servidores DMZ.

Casos de uso

Self-service para desarrolladores

Da a los devs una UI para start/stop sus propios contenedores de staging sin darles sudo en el host. Restringe vía RBAC.

Gestión de flota Docker multi-host

Un Portainer gestiona tus hosts Docker de dev, staging y prod. Etiqueta endpoints por entorno; despliega stacks una vez, target a múltiples hosts.

UI lite para Kubernetes

Para clusters K8s pequeños/medianos, la UI de Portainer es más simple que Lens o k9s. Despliega desde manifests o Helm charts vía la UI.

UI de app customer-facing

Algunos MSPs usan la UI de Portainer (white-labelled en Business Edition) como surface de despliegue de apps para clientes — un "PaaS lite".

Troubleshooting de contenedores

Inspecciona env, volúmenes, attachments de network, logs y exec un shell en un contenedor corriendo — todo en una pantalla durante respuesta a incidentes.

Ejemplos de código

Añadir un endpoint Docker vía API bash
curl -X POST \
  -H "X-API-Key: $PORTAINER_API_KEY" \
  -F 'Name=prod-docker' \
  -F 'EndpointCreationType=1' \
  -F 'URL=tcp://prod-docker:2376' \
  -F 'TLS=true' \
  -F '[email protected]' \
  https://portainer.example.com/api/endpoints
Desplegar un stack vía API bash
curl -X POST \
  -H "X-API-Key: $PORTAINER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "myapp",
    "stackFileContent": "version: \"3.8\"\nservices:\n  web:\n    image: nginx",
    "swarmID": "abc123",
    "fromAppTemplate": false
  }' \
  "https://portainer.example.com/api/stacks?type=1&method=string&endpointId=1"
Webhook redeploy en Git push bash
# Pipeline CI (.github/workflows/deploy.yml)
- name: Trigger Portainer redeploy
  run: |
    curl -X POST $PORTAINER_REDEPLOY_WEBHOOK
Container exec vía API bash
curl -X POST \
  -H "X-API-Key: $PORTAINER_API_KEY" \
  -d '{"AttachStdin":true,"AttachStdout":true,"Cmd":["sh"],"Tty":true}' \
  https://portainer.example.com/api/endpoints/1/docker/containers/<id>/exec

Comparativa

vs Docker CLI / docker-compose El CLI es lo más potente y scriptable pero tiene curva de aprendizaje. Portainer es la versión UI — más lento para power users, más rápido para tareas ad-hoc y miembros del equipo que no viven en la terminal.
vs Pier (esta plataforma) Pier es un PaaS de mayor nivel — despliegues opinionados, SSL automático, backups, plantillas de servicios. Portainer es una UI Docker de menor nivel — acceso Docker completo, sin HTTPS o backups integrados. Muchos usuarios corren ambos — Pier para servicios gestionados, Portainer para "solo necesito mirar este contenedor".
vs Rancher Rancher apunta a Kubernetes a escala. Portainer es más simple para workflows Docker-first. Para K8s puro, Rancher u OpenLens son más ricos; para Docker + K8s ligero, Portainer gana en simplicidad.
vs Yacht, Dockge UIs Docker más ligeras enfocadas en stacks Compose. Portainer es más pesada pero cubre Swarm, Kubernetes, RBAC, multi-host — cosas que las alternativas más ligeras skip.

Preguntas frecuentes

¿CE o BE?
Pier despliega Portainer Community Edition (CE). La Business Edition añade mejoras de RBAC, features de edge compute, audit logs y soporte — pero es un producto pagado aparte no empaquetado en esta plantilla.
¿Cómo conecta Portainer a Docker?
Monta `/var/run/docker.sock` en el contenedor Portainer (Pier lo hace automáticamente). Portainer habla al daemon Docker local. Para hosts remotos, añade endpoints de socket Docker TLS-securizados vía la UI.
¿Setup la primera vez?
En el primer lanzamiento creas el usuario admin vía la UI. Puerto por defecto 9000/tcp (HTTP) o 9443/tcp (HTTPS). Pier expone ambos; adjunta un dominio para HTTPS limpio vía Traefik.
¿Puedo gestionar Kubernetes también?
Sí — conecta a cualquier cluster K8s vía kubeconfig en la UI. La UI K8s de Portainer es sólida para namespaces, deployments, ingresses, configmaps, secrets.
¿Volumen?
Pier monta `/data` como volumen persistente — contiene config de Portainer + base de usuarios + definiciones de endpoints.
¿Cómo respaldo?
El Settings → Backup de Portainer te da un ZIP cifrado de backup en un clic. Restora en una instalación fresca. Programa periódicamente.
¿Autenticación / SSO?
Cuentas locales por defecto. Configura LDAP, OAuth (Google, GitHub, GitLab, Azure AD, OIDC custom) en Settings → Authentication.

Servicios relacionados

Desplegar en tu VPS

Portainer es una UI web ligera para gestionar contenedores Docker, clusters Docker Swarm y namespaces Kubernetes. Da a desarrolladores y equipos de ops una GUI pulida para inspeccionar contenedores corriendo, ver logs, gestionar volúmenes y networks, desplegar stacks — sin tener que memorizar comandos docker / kubectl.

Desplegar este servicio →