Introducción a Portainer para administrar contenedores

Dentro de nuestro servidor casero, todas las aplicaciones que vamos a ejecutar las ejecutaremos a través de docker, en concreto de docker-compose. 

 

Para ello tenemos dos opciones, la primera es tener nuestro fichero docker-compose con toda la configuración. Mientras que la segunda es tener la aplicación Portainer corriendo dentro de dicho docker-compose pero el resto de aplicaciones las configuramos dentro de portainer. 

 

 

1 - ¿Qué es portainer?

Portainer es una interfaz de usuario para administrar contenedores Docker. Y la verdad es que lo hace muy bien y muy simple, tanto a la hora de la facilidad con la instalación como a la hora administrar los contenedores 

imagen portainer

 

2 - Portainer VS Docker Desktop?

Una opción es porque no quieres pagar el uso de docker-desktop (la interfaz), desde hace unos meses es de pago para las empresas, portainer tiene la versión comunidad que es gratuita y se puede usar si eres parte de una empresa. 

 

Otra opción es si no eres un usuario avanzado, que apenas tiene conocimiento de contenedores, o de informática en general, pero necesitas contenedores para montarte tu servidor casero. 

Con portainer lo puedes hacer de una forma sencilla, ya que la interfaz nos permite añadir contenedores desde la misma. 

 

Mientras que con docker-desktop no podemos modificar ni añadir nada en la interfaz, con portainer tenemos una sección para crear “stacks” los cuales nos permiten añadir nosotros mismos desde la UI los contenedores que queramos, eso sí, necesitas la configuración para el .yaml.

 

Aquí podemos ver un ejemplo con ambas interfaces siendo ejecutadas al mismo tiempo:

docker desktop vs portainer

Con docker desktop, la única alternativa que tenemos es modificar el fichero docker-compose nosotros mismos; Y en mi caso, modificar el fichero en el Synology DS420+ se hace un poco tedioso, ya que tengo que acceder por SSH. Y ahora mismo, estoy migrando de docker-compose a portainer porque el acceso al fichero se me está haciendo muy pesado. 

  • Nota: en mi dia a dia laboral, sigo utilizando docker, pero en el servidor es más cómodo Portainer. 

 

 

2.1 - Instalar portainer

Para instalar portainer vamos a tenerlo que hacer en docker o con docker-compose, pero puede ser perfectamente el único servicio que necesitemos ejecutar en él, y con el siguiente código lo podemos ejecutar: 

portainer-ce:
  image: portainer/portainer-ce:2.14.2
  ports:
       - 9444:9443 # https
  container_name: portainer
  restart: always
  volumes:
      - /var/run/docker.sock:/var/run/docker.sock #the first part referes to boot2docker in the VM
      - D:\Server-config\portainer\data:/data #indica la tuya

Para acceder a portainer lo tenemos que hacer por el puerto SSL. Asi que por ahora, que no tenemos certificados, nos saldra la alerta del certificado, pero la aceptamos sin mas. 

 

La url es https://{ip-server}:9444/ y ahí deberemos crear nuestro usuario principal.

 

 

2.2 - Instalar un nuevo servicio con Portainer

Para instalar un nuevo servicio lo primero que tenemos que hacer es crear un stack

Y dentro de este stack, configuramos los servicios que queramos, en mi caso únicamente voy a poner overserr:

configurar stack portainer

 

 

Una vez terminamos, le damos a “deploy the stack” y una vez termine podremos ver el stack con los servicios que está corriendo, y podemos observar que tenemos diferentes botones de acciones: 

Portainer stack overview

Y si vamos a la URL http://{ip-server}:5055 vemos como nos carga sin ningún problema.

overserr ejecutado en portainer

Además dentro de la propia interfaz de portainer tenemos acceso tanto a los logs como a la linea de comandos. 

 

 

2.3 - Acceso a Portainer

Quiero hacer una mención especial, portainer es una aplicación web, por lo tanto puedes acceder desde el navegador. recomiendo encarecidamente tener una contraseña súper segura para administrador (o configurar OAuth y poner 2FA  ) y tener otro usuario de normal, con menos permisos. 

 

Y cada recurso del sistema puede tener diferentes niveles de acceso también:

access level portainer

Por defecto tenemos 3 niveles:

  • Administrador : únicamente los administradores tienen capacidad para modificar dicho recurso.
  • Restringido: podemos limitar su administración a un grupo de usuarios, ya sea uno o varios.
  • Público: cualquier usuario con acceso a la aplicación podrá administrar el recurso. 

 

 

2.4 - Estadísticas en portainer

Uno de los puntos que a mí más me gustan son las estadísticas del uso de CPU o Memoria, si bien es cierto que docker-desktop nos da las estadísticas de un contenedor específico en el momento en el que miramos. Pero Portainer mantiene un gráfico, que siempre ayuda ir mirando de vez en cuando para ver si hay algún contenedor que consuma demasiado. 

Stats portainer

 

Conclusión

En este post hemos visto

  • Qué es Portainer y como configurarlo así como un ejemplo sencillito
  • Hemos visto las características de Portainer
  • Una comparación entre Docker desktop y portainer
  • Mi opinión personal es que para alguien no experto o un servidor es mejor utilizar portainer que el propio docker-compose ya que suele ser más tedioso tener que actualizaro. 
  • Para trabajar profesionalmente yo sigo prefiriendo hacerlo todo en el fichero docker-compose.

 


Uso del bloqueador de anuncios adblock

Hola!

Primero de todo bienvenido a la web de NetMentor donde podrás aprender programación en C# y .NET desde un nivel de principiante hasta más avanzado.


Yo entiendo que utilices un bloqueador de anuncios como AdBlock, Ublock o el propio navegador Brave. Pero te tengo que pedir por favor que desactives el bloqueador para esta web.


Intento personalmente no poner mucha publicidad, la justa para pagar el servidor y por supuesto que no sea intrusiva; Si pese a ello piensas que es intrusiva siempre me puedes escribir por privado o por Twitter a @NetMentorTW.


Si ya lo has desactivado, por favor recarga la página.


Un saludo y muchas gracias por tu colaboración

© copyright 2024 NetMentor | Todos los derechos reservados | RSS Feed

Buy me a coffee Invitame a un café