140 - Gestionar docker desde el navegador
Como gestionar doker desde el navegador web de forma sencilla e intuitiva. Además puedes gestionar los contenedores de varios servidores de forma sencilla.
Como ya he comentado en mas de una ocasión, creo que Docker, o más bien, la tecnología de contenedores, es una herramienta que tienes que aprovechar. En este sentido durante los últimos meses del año pasado, publiqué un completo tutorial sobre docker. Todo con el objetivo de que puedas aprovechar esta potente tecnología, y que puedas sacar el máximo partido posible. De hecho, en el podcast 138, te hablo sobre la alternativa a Dropbox para la Raspberry. En el te cuento sobre Seafile y que durante mucho tiempo he estado intentado instalarlo en la Raspberry, sin ningún éxito, hasta que al final, lo he hecho con Docker, y todo ha sido realmente sencillo. Bueno, realmente sencillo, una vez que he creado la imagen. Sin embargo, tienes que reconocer, que trabajar con Docker es tedioso, y realmente no te aporta gran cosa. Así, sería interesante tener un interfaz que te ayudara con la gestión de Docker. Y precisamente, atendiendo a esto, hace unos días publiqué un artículo sobre lazydocker o docker para perezosos, que te traía esa interfaz para el terminal. Pero que te parecería gestionar docker desde el navegador. Si como lo has oído, gestionar docker desde tu navegador preferido, Firefox, Chromium, Chrome, o el que sea que tu utilices.
Pues precisamente de esto te voy a hablar en el podcast de hoy. Te voy a hablar sobre una herramienta que te permite gestionar docker desde tu navegador de internet preferido.
Docker desde el navegador
Portainer
Para gestionar docker desde el navegador, tienes una excelente herramienta llamada Portainer. Se trata de un interfaz gráfico en forma de web que te permite gestionar todo lo relativo a docker, desde contenedores a imágenes, pasando por redes y volúmenes.
Instalación
Por supuesto, y como no podía ser de otra forma, para instalar Portainer en tu Raspberry, en un servidor o donde quieras instalarlo, lo vas a hacer con un contenedor.
Así, para instalar Portainer necesitas crear un volumen y levantar el contenedor. A menos que ya tengas Portainer instalado en otro servidor, y lo quieras enlazar con este, en cuyo caso, tienes que levantar un cliente de Portainer.
Resumiendo, para instalar Portainer, ejecuta estas dos instrucciones en un terminal,
docker volume create portainer_data
docker run -d -p 9000:9000 -p 8000:8000 --name portainer --restart always -v
/var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
Sobre el protocolo http
Por defecto las comunicaciones con Portainer no son cifradas, sin embargo es posible configurarlo para que lo sean. Sin embargo, no me voy a meter en este asunto, porque no voy a permitir que Portainer, esté accesible desde el exterior.
Así, si necesito conectarme a Portainer para realizar cualquier tipo de operación, lo haré a través de la VPN. Recordarte que tal y como te comenté en el podcast 134, le he dado el pasaporte a OpenVPN para darle la bienvenida a WireGuard. Opción, que con la experiencia de estos dos últimos meses te recomiendo totalmente.
Por otro lado, también te permite configurar un contraseña, básicamente para dificultar el acceso. Sin embargo, tampoco me he preocupado de configurarla.
Características
Desde el dashboard o tablero principal, te permite acceder a contenedores, imágenes, volúmenes y redes. Quizás, lo mas interesante son los contenedores, donde puedes realizar una serie de acciones rápidas como son,
- acceso directo a los logs
- inspección de los contenedores, tanto en formato árbol como en formato texto
- estadísticas, donde puedes ver el uso tanto de memoria, como CPU como red. Y por supuesto, también puedes ver los procesos que están en funcionamiento en el momento de la consulta.
- acceso al contenedor vía terminal directamente desde el navegador web. Y esto es sinceramente brutalmente cómodo.
Pero no solo puedes realizar estas acciones, sino que además, una vez seleccionado uno de los contenedores, puedes realizar cualquier otra acción que te puedas imaginar. Podrás iniciar, parar, matar, pausar, reanudar o eliminar cualquier contenedor.
Respecto a las imágenes, igualmente, también podrás realizar las operaciones básicas. Incluida entre estas operaciones básicas, está la posibilidad de crear un archivo Dockerfile directamente desde el propio editor incorporado en la aplicación web que estás utilizando. Pero no solo esto, sino que también te permite cargar un Dockerfile desde un archivo o incluso de una dirección url.
Respecto a los volúmenes y redes, por supuesto que vas a poder realizar las operaciones básicas como son las de crear y borrar.
Plantillas
Una de las características que también me parece realmente interesante es la que puedes levantar un contenedor directamente desde una de las plantillas que tiene preparadas para ello Portainer. Simplemente, eliges la plantilla, por ejemplo, una plantilla de Nginx, donde te ofrece algunos parámetros de configuración, y el se encarga de prepararlo todo, sin que tu te tengas que plantear ni siquieras pisar el terminal.
Eventos
Otra interesante característica que tiene Portainer son los eventos. Esto nos permite llevar un registro de todos los eventos que se han producido o que tu has realizado. De esta manera, por ejemplo, puedes ver cuando levantaste un contenedor o borraste una imagen.
Gestión de usuarios
Por supuesto, y como no podía ser de otra forma Portainer te permite realizar una gestión de usuarios, grupos y roles. Pudiendo asignar a cada uno de los usuarios de Portainer un determinado perfil en función de las capacitaciones que le quieras asignar.
Extensiones
Si esto que has visto te parece poco, indicarte que además Portainter es ampliable mediante extensiones. Aunque las que he visto son de pago. Pero, desde luego, si te sirven para ahorrarte trabajo, bien pagadas estarán.
Gestionando otros servidores
No es necesario que instales Portainer en cada uno de tus servidores. Puedes tener Portainer instalado en uno de ellos, y controlar el resto mediante agentes o clientes.
Indicarte que el agente de Portainer, es por supuesto otro contenedor, y que es tremendamente sencillo de instalar y configurar. De esta manera, puedes tener perfectamente controlados tu granja de servidores desde un único equipo, facilitándote y simplificándote de esta manera la gestión.
Para tener la última versión que ha actualizado a la CE.
sudo 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 portainer/portainer-ce:latest