Portainer en Docker: cómo instalarlo

Portainer es una forma cómoda de gestionar entornos de contenedores distribuidos. El software se instala como un contenedor Docker y, por tanto, se ejecuta prácticamente en cualquier lugar. Mostramos la rutina de instalación y aportamos útiles consejos.

Consejo

Utiliza Portainer para gestionar tus clusters Kubernetes - en un servidor VPS de IONOS.

¿Qué es Portainer?

Ya habíamos presentado Portainer como una flexible alternativa a OpenShift. A diferencia de OpenShift, Portainer no es una distribución de Kubernetes por derecho propio. Más bien, el software de código abierto centraliza y unifica la gestión de las infraestructuras de clústeres existentes. Para ello se utiliza una interfaz gráfica de usuario basada en la web. Además de la “Community Edition” (CE) gratuita, existe una versión de pago con soporte empresarial.

El objetivo principal de Portainer es unificar la gestión de los desarrollos existentes de Kubernetes. Portainer permite a los equipos de DevOps gestionar, configurar y asegurar de forma centralizada los entornos multiclúster. Los equipos de desarrollo también se benefician del software; por ejemplo, Portainer facilita el despliegue, la gestión y la resolución de problemas de las aplicaciones.

En este caso, Portainer no solo es adecuado como interfaz de gestión para Kubernetes; la gestión de clústeres y contenedores basada en Docker y Docker Swarm también forma parte del ámbito funcional. El software puede instalarse prácticamente en cualquier lugar. Por tanto, la instalación funciona en entornos de nube, en dispositivos de vanguardia, así como en tu propia infraestructura informática local. Te mostramos cómo instalar Portainer en Docker.

Consejo

Consulta nuestro práctico tutorial de Docker para configurar Docker en tu sistema local.

¿Cómo instalo Portainer en Docker?

Veamos primero la arquitectura básica de Portainer. Esta comprende dos componentes que se instalan individualmente como Docker container:

  1. Un servidor Portainer como instancia centralizada. El servidor Portainer contiene una base de datos y requiere una capa de almacenamiento para guardar los datos. El servidor Portainer gestiona el entorno Docker local y, si es necesario, otros entornos conectados a través de agentes.
  2. Si es necesario, varios agentes Portainer para gestionar entornos adicionales. Una instancia del agente Portainer se ejecuta en cada nodo del clúster que se va a gestionar.

Tanto el servidor Portainer como los agentes se ejecutan como contenedores en la infraestructura existente. Los agentes se comunican con el servidor; para que esto funcione, el servidor y los agentes deben estar en la misma red. Además, están los edge agents, que se ejecutan como instancias en dispositivos remotos. Lo especial de los edge agents es que se comunican con el servidor a través de los límites de la red. Para ello se utiliza un túnel TLS encriptado.

A continuación, te mostramos la instalación del servidor y el agente de Portainer bajo Docker (independiente). Nos referimos a la versión 2.9.3 de Portainer Community Edition (CE) y utilizamos Docker Desktop como base. Docker Desktop funciona en Windows y macOS; la instalación en Linux es casi idéntica. Ten en cuenta que, en el uso de producción, los servidores y los agentes se ejecutan en máquinas diferentes.

Instalación de Portainer Server en Docker Desktop

Como el servidor Portainer está disponible como imagen Docker, la instalación resulta bastante sencilla. Te guiaremos en el proceso paso a paso.

  1. En primer lugar, creamos un volumen Docker que contendrá los datos gestionados por el servidor Portainer:
docker volume create Portainer_data
  1. A continuación, verificamos que el volumen Docker llamado ‘Portainer_data’ existe:
docker volume ls
  1. Ahora sigamos con la instalación del servidor Portainer propiamente dicho. Iniciamos el servidor como un contenedor Docker desde su imagen Docker. A menos que la imagen sea local, se descargará automáticamente:
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 \
    cr.Portainer.io/Portainer/Portainer-ce:2.9.3
  1. A continuación, comprobamos si el contenedor Docker llamado ‘Portainer’ está en funcionamiento:
docker ps

Configurar el servidor Portainer en Docker

Si el servidor Portainer se ha instalado correctamente, la interfaz web de Portainer es accesible en el host local en el puerto especificado. En nuestro caso, es el puerto 9443. Ahora es el momento de configurar el servidor Portainer.

  1. Primero, llamamos a la interfaz web de Portainer en el navegador: https://localhost:9443.
  2. Al utilizar Portainer por primera vez, creamos un usuario administrador y luego configuramos Portainer.

Por defecto, la instalación de Portainer utiliza un certificado SSL autofirmado para asegurar la interfaz web mediante HTTPS. Cuando se accede, puede aparecer un mensaje de advertencia en el navegador, dependiendo del navegador y del sistema operativo. Esto puede evitarse con unos pocos clics, como se muestra en las siguientes capturas de pantalla.

Actualizar el servidor Portainer en Docker Desktop

El proceso de actualización del servidor Portainer está estrechamente relacionado con la rutina de instalación. Así que aquí también mostramos el proceso:

  1. En primer lugar, detenemos el contenedor en ejecución del servidor Portainer:
docker stop Portainer
  1. Posteriormente, retiramos el contenedor:
docker rm Portainer
  1. Para preparar la actualización, descargamos la última imagen del servidor Portainer:
docker pull cr.Portainer.io/Portainer/Portainer-ce:2.9.3
  1. Para realizar la actualización, reiniciamos el contenedor del servidor Portainer desde la imagen actual:
docker run -d -p 8000:8000 -p 9000:9000 -p 9443:9443 \
    --name=Portainer --restart=always \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v Portainer_data:/data \
    cr.Portainer.io/Portainer/Portainer-ce:2.9.3

Instalación del agente Portainer en Docker

El agente Portainer no es necesario para una instalación local en Docker. Si quieres gestionar varios entornos de forma centralizada, instala el agente en cada máquina que vaya a conectarse. Como el agente Portainer está disponible como contenedor Docker, la instalación es sencilla. Todo lo que tienes que hacer es ejecutar el siguiente comando en el sistema de destino:

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 \
    cr.Portainer.io/Portainer/agent:2.9.3
¿Le ha resultado útil este artículo?
Page top