Administra tus contenedores con Portainer
Una de las tendencias actuales en el mundo DevOps es ejecutar nuestros desarrollos en un entorno de contenedores, para aprovechar las ventajas que nos brindan, al contar con ambientes de ejecución y desarrollo controlados y fácilmente replicables. Docker es una de las plataformas de contenedores más usada en la industria y la podemos utilizar tanto para ejecutar aplicaciones en nuestros equipos de cómputo personales durante el desarrollo de software, como en servidores productivos, usualmente bajo sistemas operativos Linux.
Los contenedores Docker pueden ser administrados por medio de línea de comandos o CLI, sin embargo esto puede resultar engorroso. Afortunadamente, existen varias herramientas gráficas de administración que nos facilitan la gestión de contenedores en forma amigable y poderosa.
Una de las herramientas más utilizada es Portainer, que ofrece una edición de uso libre llamada Portainer Community Edition o Portainer CE. En este artículo, te mostraremos cómo instalarla y configurarla para facilitar la administración de tus contenedores. ¡Manos a la obra!
Instalación y configuración de Portainer CE
Portainer CE se ejecuta como un contenedor Docker común. La versión 2.19.5 de la aplicación es la más reciente actualmente y requiere contar con Docker versión 23.0.6 o superior. El procedimiento de instalación es muy simple y consta de cuatro pasos:
Paso 1: Crear un volúmen docker para almacenar la base de datos de Portainer CE
# docker volume create portainer_data
portainer_data
Paso 2: Descargar y ejecutar el contenedor de la aplicación
Portainer CE publica sus contenedores en el repositorio Docker Hub por lo que la descarga se realiza en forma automática:
# docker run -d -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
Unable to find image 'portainer/portainer-ce:latest' locally
latest: Pulling from portainer/portainer-ce
57654d40e0a5: Pull complete
1f476acfabd6: Pull complete
5171176db7f2: Pull complete
52e9438966a5: Pull complete
43d4775415ac: Pull complete
c1cad9f5200f: Pull complete
a5e2b359b78b: Pull complete
eb172612bcbb: Pull complete
6be7b2acffb5: Pull complete
391dff0fb880: Pull complete
4f4fb700ef54: Pull complete
Digest: sha256:4a1ceadd7f7898d9190ee0a6d22234c4323aefd80e796e84f5e57127f74370f1
Status: Downloaded newer image for portainer/portainer-ce:latest
77d3cc774600cf5f9d1236a2e632402b7380f6bbec3b402cf215643d55e39e3e
En este punto, el contenedor de Portainer CE ya está ejecutándose en nuestro equipo, por lo que podremos validar con el siguiente comando que así sea:
# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
77d3cc774600 portainer/portainer-ce:latest "/portainer" 2 minutes ago Up 2 minutes 8000/tcp, 9000/tcp, 0.0.0.0:9443->9443/tcp, :::9443->9443/tcp portainer
Paso 3: Acceder a Portainer
Para iniciar la configuración de la aplicación, es necesario acceder con nuestro navegador a la URL de Portainer CE: https://<ip-del-equipo>:9443. En lugar de <ip-del-equipo>, debemos introducir la dirección IP de nuestro equipo o servidor donde estemos instalando.
Una vez hayamos ingresado a la liga, veremos una pantalla como la siguiente, en donde deberemos ingresar una contraseña robusta de, al menos, 12 caracteres. Presionaremos después Create user.
Paso 4: Configurar Portainer
El último paso es configurar Portainer CE para que administre los contenedores Docker. Seleccionaremos la opción Get Started para poder gestionar los contenedores que se ejecutan en nuestro equipo local.
En este momento, Portainer CE está listo para usarse y nos presenta una pantalla inicial donde podemos visualizar nuestro ambiente de ejecución y sus características básicas: cantidad de memoria RAM, de CPUs, cantidad de contenedores, imágenes, volúmenes, etc.
Administrando contenedores
Para ejemplificar las funcionalidades que nos brinda Portainer CE, usaremos la herramienta para crear, ejecutar y eliminar un contenedor Docker del servidor web nginx. Para crear el contenedor, seleccionaremos del menú izquierdo la opción Containers. En la sección derecha de la pantalla, presionaremos Add container:
Enseguida, en el campo Name proporcionaremos un nombre para nuestro contenedor: nginx. En Image, llenaremos el nombre de la imagen que requerimos instalar, que está publicada en el registro de contenedores de Docker Hub: nginx. Habilitaremos el selector etiquetado con Publish all exposed network ports to random host ports, para que Portainer CE asigne un puerto TCP aleatorio para acceder desde nuestro navegador. Enseguida presionamos Deploy the container, con lo que Portainer CE descargará la imagen del contenedor Docker desde Docker Hub y la ejecutará. Este proceso tomará un par de minutos.
Al finalizar la instalación, Portainer CE nos mostrará la lista de contenedores, donde veremos el contendor nginx que acabamos de crear, y nos mostrará el puerto para poder acceder al mismo, en este caso 32768:
En nuestro navegador al abrir la URL http://<ip-del-servidor>:32768/, veremos la página por defecto de nginx, con lo que comprobamos que nuestro contenedor nginx está funcionando correctamente:
Las funcionalidades principales que nos brinda Portainer CE para gestionar los contenedores, se encuentran en la columna Quick Actions de la vista de lista de los contenedores:
Logs: Nos permite consultar la bitácora de ejecución del contenedor, filtrarlos por palabras clave o descargarlos a nuestro equipo.
Inspect: Nos proporciona detalles técnicos de los recursos del contenedor. Es útil para diagnosticar fallas.
Stats: Nos muestra estadísticas de ejecución del contenedor, tales como uso de memoria, CPU, red y procesos:
Ahora, eliminaremos el contenedor nginx para finalizar nuestra demostración. En la lista de contenedores, marcaremos la casilla del mismo y presionaremos en la parte superior Remove:
Portainer CE nos solicitará una confirmación a la que debemos confirmar con Remove y nuestro contendor nginx y los recursos que utilizaba serán liberados.
Conclusiones
Esta fue una demostración de las funcionalidades básicas de administración de contenedores Docker usando Portainer CE. La herramienta tiene muchas funcionalidades más, incluyendo la administración de contenedores en un ambiente Kubernetes, por lo que será muy provechoso puedas seguir esta demostración en tu propio equipo para poder aprovechar sus beneficios en tu día a día como desarrollador o administrador de plataformas.
Estoy seguro que este tipo de herramientas te ayudará a ser más eficiente en tus actividades y tener más tiempo libre para seguir creciendo en este amplio mundo del desarrollo de Software.
Suerte, y ¡éxito en tu camino!
Listopro Community da la bienvenida a todas las razas, etnias, nacionalidades, credos, géneros, orientaciones, puntos de vista e ideologías, siempre y cuando promuevan la diversidad, la equidad, la inclusión y el crecimiento profesional de los profesionales en tecnología.