Portainer: Interfaz gráfica para Docker, Kubernetes y más
Portainer Community Edition es una UI ligera y gratuita para gestionar entornos de contenedores. Diseñada para homelabs, aprendizaje y proyectos personales, no para producción.
Vídeo tutorial en YouTube
Mira el vídeo completo sobre cómo instalar y usar Portainer: Interfaz gráfica para Docker, Kubernetes y más en el canal GENBYTE:
¿Qué es Portainer: Interfaz gráfica para Docker, Kubernetes y más?
Portainer Community Edition (CE) es una interfaz de gestión de contenedores de código abierto que simplifica la administración de Docker, Docker Swarm, Podman, Kubernetes y Azure Container Instances (ACI). El proyecto nace con el objetivo de eliminar la barrera de la línea de comandos y ofrecer una experiencia visual accesible para operadores de homelab, estudiantes, aficionados y cualquiera que experimente con contenedores en su propio hardware.
La edición comunitaria se distribuye sin coste, sin garantía, sin SLA y sin compromiso de hoja de ruta. No está pensada para entornos de negocio, producción ni donde la disponibilidad, la postura de seguridad o la integridad de los datos sean críticos. Para esos casos existe Portainer Business Edition, que añade RBAC, GitOps, gestión edge, auditoría, SSO y soporte comercial.
El repositorio principal se encuentra en GitHub bajo la organización portainer/portainer, licenciado bajo Zlib. La versión actual del paquete frontend es 2.45.0 y requiere Node.js 22.22.1 para desarrollo. La documentación oficial y la guía de instalación residen en docs.portainer.io.
Características principales
Gestión multiplataforma
Compatible con Docker, Docker Swarm, Podman, Kubernetes y Azure Container Instances desde una única interfaz.
Edición comunitaria gratuita
Disponible sin coste para uso personal, educativo y experimental. Código abierto bajo licencia Zlib.
Interfaz web ligera
Frontend construido con TypeScript, React, AngularJS (híbrido), TailwindCSS y Webpack, servido como contenedor único.
Separación clara de ediciones
Portainer Business Edition añade RBAC, GitOps, edge management, auditoría, SSO y soporte comercial sobre la misma base open source.
Documentación centralizada
Guías de instalación, configuración y uso en docs.portainer.io, con enlaces directos desde el README del repositorio.
Comunidad y contribución
Canal de Slack comunitario, issues en GitHub y guía de contribución (CONTRIBUTING.md) para desarrollo local y pull requests.
Requisitos del sistema
- Motor de contenedores compatible: Docker Engine, Docker Swarm, Podman, Kubernetes o ACI
- Acceso al socket del motor de contenedores (para Docker: /var/run/docker.sock)
- Puerto 9000 (HTTP) y 9443 (HTTPS) disponibles en el host
- Para desarrollo local: Node.js ^22.22.1 y pnpm 10.26.2
Instalación con Docker Compose
Despliegue rápido con Docker (documentación oficial)
La guía oficial de instalación de Portainer CE se encuentra en https://docs.portainer.io/start/install-ce. El repositorio no incluye un archivo docker-compose.yml en la raíz; la instalación estándar se realiza mediante comando docker run o siguiendo la documentación según el entorno objetivo (Docker standalone, Swarm, Kubernetes, Podman, ACI).
docker run -d \
-p 9000:9000 -p 9443:9443 \
–name portainer \
–restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer-ce:latest
Compilación desde código fuente (desarrollo)
El repositorio incluye scripts de empaquetado basados en Webpack y pnpm. Requiere Node.js ^22.22.1. Los comandos principales están definidos en package.json.
pnpm install
# Desarrollo con recarga en caliente
pnpm run dev
# Compilación de producción
pnpm run build
# Lint y formateo
pnpm run lint
pnpm run format
# Tests
pnpm run test
Acceder al proyecto
Interfaz web
Tras el despliegue, la UI está disponible en http://<host>:9000 (HTTP) y https://<host>:9443 (HTTPS). El primer acceso requiere crear un usuario administrador y seleccionar el entorno a gestionar (local, remoto, Kubernetes, etc.).
API y CLI
Portainer expone una API REST documentada en la propia interfaz (sección API). No se documenta en la investigación un CLI independiente para la edición comunitaria.
Casos de uso
- Gestión visual de contenedores, imágenes, redes y volúmenes en homelabs
- Aprendizaje de conceptos de Docker y Kubernetes sin depender exclusivamente de la CLI
- Despliegue y supervisión de stacks Docker Compose desde la interfaz
- Administración de clústeres Docker Swarm y namespaces Kubernetes en entornos de prueba
- Experimentación con Podman y Azure Container Instances mediante una UI unificada
Configuración avanzada
Configuración de entornos remotos
Portainer permite agregar entornos remotos (Edge Agents, Docker daemons remotos, clústeres Kubernetes) mediante la UI. La configuración de certificados TLS, tokens de agente y variables de entorno específicas depende del tipo de entorno y se documenta en docs.portainer.io.
Persistencia de datos
Los datos de Portainer (base de datos interna, configuración, certificados) se almacenan en el volumen montado en /data dentro del contenedor. En el ejemplo de docker run se usa un volumen nombrado 'portainer_data'.
Actualización de versión
Para actualizar Portainer CE, detener y eliminar el contenedor actual, obtener la imagen más reciente y volver a crear el contenedor con los mismos volúmenes y puertos. No hay mecanismo de actualización automática documentado en la investigación.
docker rm portainer
docker pull portainer/portainer-ce:latest
# volver a ejecutar el docker run original con los mismos volúmenes
Gestión y mantenimiento
Copias de seguridad
La persistencia reside en el volumen /data. Realizar copias de seguridad de dicho volumen (por ejemplo, con docker run –volumes-from portainer -v $(pwd):/backup alpine tar czf /backup/portainer-backup.tar.gz /data) permite restaurar la configuración y la base de datos interna.
Limpieza de recursos
Portainer incluye funciones en la UI para eliminar contenedores, imágenes, redes y volúmenes no utilizados. También permite ejecutar comandos de limpieza del motor de contenedores subyacente (docker system prune, etc.) desde la interfaz.
Logs y solución de problemas
Los logs del contenedor Portainer están disponibles con 'docker logs portainer'. Para depuración avanzada, la documentación sugiere revisar los logs del agente Edge o del motor de contenedores gestionado.
# seguir logs en tiempo real
docker logs -f portainer
Stack técnico
- TypeScript
- React 17
- AngularJS 1.8 (híbrido con @uirouter/react-hybrid)
- TailwindCSS 3.3
- Webpack 5
- pnpm 10
- Node.js 22 (desarrollo)
- Go (backend, inferido por go.mod/go.sum en la raíz)
- Docker / Docker Compose (despliegue)
- Kubernetes (soporte nativo)
- Podman (compatibilidad)
- Azure Container Instances (compatibilidad)
Referencias oficiales
- Repositorio oficial en GitHub: https://github.com/portainer/portainer
- Documentación oficial (instalación, configuración, uso): https://docs.portainer.io
- Guía de instalación de Portainer CE: https://docs.portainer.io/start/install-ce
- Licencia Zlib: https://raw.githubusercontent.com/portainer/portainer/develop/LICENSE
- Comunidad y Slack: https://www.portainer.io/join-our-community
- Portainer Business Edition (características y prueba gratuita): https://www.portainer.io/features
- Issues y reporte de bugs: https://github.com/portainer/portainer/issues
- Guía de contribución: https://github.com/portainer/portainer/blob/develop/CONTRIBUTING.md
- Política de seguridad: https://github.com/portainer/portainer/blob/develop/SECURITY.md
Apoya el canal GENBYTE
¿Te ha sido útil este contenido?
Suscríbete a YouTube
Newsletter GENBYTE
Ko-fi
Contacto: [email protected]
