Cómo instalar Portainer con Docker Compose: Gestiona tus contenedores de forma gráfica
Administrar contenedores desde la terminal de comandos es el estándar de la industria, pero cuando tu servidor empieza a crecer con múltiples bases de datos, redes y volúmenes, mantener el control visual se vuelve una necesidad. Aquí es donde entra Portainer.
Portainer es una interfaz gráfica de usuario (GUI) basada en web que te permite monitorear, crear y destruir contenedores Docker con solo hacer un clic. En esta guía práctica te enseñaremos paso a paso cómo instalar Portainer con Docker Compose de la manera más rápida y eficiente.
¿Por qué deberías usar Portainer?
Si ya aprendiste a desplegar servicios en tu entorno local, Portainer te llevará al siguiente nivel por varias razones:
- Monitoreo en tiempo real: Verás gráficos de consumo de memoria RAM y CPU de cada contenedor sin ejecutar comandos pesados.
- Acceso a Logs instantáneo: Olvídate del
docker logs -f. Con un solo botón verás qué está pasando dentro de tu aplicación si algo falla. - Consola integrada: Puedes abrir una terminal dentro de cualquier contenedor directamente desde el navegador web.
Requisitos Previos
Para seguir este tutorial, solo necesitas tener tu entorno de desarrollo básico listo:
- Docker y Docker Compose activos.
- Un par de minutos libres.
(Nota: Si estás armando tu entorno desde cero, recuerda pasar por nuestra Guía Definitiva de Docker para verificar que tu sistema tenga las dependencias correctas).
Paso 1: Crear el directorio de trabajo
Para mantener el orden en nuestro laboratorio, crearemos una carpeta dedicada para almacenar los archivos de configuración y la persistencia de datos de la interfaz.
Abre tu terminal y ejecuta:
Bash
mkdir mi-laboratorio-portainer
cd mi-laboratorio-portainer
Paso 2: El archivo docker-compose.yml para Portainer
Portainer se distribuye como una imagen oficial de Docker, lo que significa que podemos levantar la interfaz gráfica usando un contenedor propio.
Crea un archivo llamado docker-compose.yml e introduce la siguiente configuración optimizada:
YAML
version: '3.8'
services:
portainer:
image: portainer/portainer-ce:latest
container_name: panel_portainer
restart: always
security_opt:
- no-new-privileges:true
ports:
- "9443:9443"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data
volumes:
portainer_data:
Explicación técnica de la configuración:
portainer/portainer-ce:latest: Utiliza la versión Community Edition, completamente gratuita y de código abierto.ports ("9443:9443"): Portainer utiliza por defecto el puerto 9443 bajo el protocolo seguro HTTPS para proteger el acceso a tu panel./var/run/docker.sock: Este volumen es la magia del proyecto. Le permite a Portainer comunicarse directamente con el motor de Docker de tu sistema operativo para poder controlarlo de forma externa.
Paso 3: Desplegar el panel web
Con el archivo YAML guardado en tu directorio, ejecuta el comando de despliegue en segundo plano:
Bash
docker compose up -d
Docker descargará la imagen en segundos y levantará el servicio de forma segura.
Paso 4: Configuración inicial en el Navegador
Una vez que el contenedor esté corriendo, abre tu navegador web e ingresa a la siguiente URL segura:
👉 https://localhost:9443
(Nota: Es completamente normal que tu navegador muestre una advertencia de seguridad o «Certificado no válido» la primera vez. Esto ocurre porque el contenedor genera un certificado SSL auto-firmado de forma local. Simplemente haz clic en Avanzado y luego en Continuar a localhost (no seguro)).
Pasos dentro de Portainer:
- Crear el usuario administrador: Define tu nombre de usuario y una contraseña segura de al menos 12 caracteres.
- Conectar al entorno local: Portainer te preguntará qué entorno deseas administrar. Selecciona la opción «Get Started» (Empezar) para que detecte automáticamente el entorno local mediante el archivo
docker.sockque mapeamos anteriormente.
¡Listo! Ya estás dentro de tu panel de control visual. Desde aquí podrás ver el artículo de WordPress que creamos anteriormente, inspeccionar sus bases de datos y gestionar todo tu ecosistema con un diseño profesional.