Our Blog

Panamax: Docker para humanos

Cuando comenzamos a utilizar Docker muchas veces nos encontramos con problemas típicos como que no recuerdo muy bien como configurar una imagen, como exponer un puerto, como compartir un directorio (un volumen) entre el contenedor y la maquina host, debido a todos estos problemas y algunos otros mas la gente de CenturyLink decidió crear Panamax.

¿Que es Panamax?

Panamax es un proyecto open-source el cual  por medio de una interfaz web amigable nos permite realizar la mayoría de las acciones que podríamos hacer con Docker por linea de comandos de una manera mas sencilla y sin necesidad de mucho conocimiento acerca de como usar cada comando en el mundo de Docker. El siguiente video muestra de una manera mas simple la idea de Panamax

 

Si bien Panamax es un proyecto relativamente nuevo, todavía no llego a su versión 1.0, demuestra que tiene mucho potencial entre otras cosas por que mas allá de usar el repositorio de imágenes de Docker tiene uno propio con los “templates” que los mismos usuarios fueron generando. Ademas internamente utiliza CoreOs, que para quienes no lo conozcan es una es una distribución de Linux con una arquitectura que fue modificada con el fin de proveer los elementos necesarios para que pueda correr en lo que es infraestructura escalable.

¿Como lo instalo?

Panamax en sus comienzos solo se encontraba disponible para una poca cantidad de sistemas operativos, con cada nueva versión ha ido agregando soporte a nuevos sistemas operativos como ser el caso de Windows. Si bien cabe destacar que en lo que es entornos Linux solo es soportado por las distribuciones Debian como ser el caso de Ubuntu y Mint entre otros.

Los requisitos previos a la instalación de Panamax para que funcione correctamente son:

En caso de que se olviden de instalar o de comprobar que tienen instaladas ambas aplicaciones Panamax les mostrara un mensaje informándoles que es lo que falta para poder continuar. Ademas de informarnos que nos esta faltando tener instalado para poder continuar nos muestra la url de donde poderlo obtener.

Para los entornos Linux bajo las distribuciones Debian es bastante sencillo lo único que tenemos que hacer es ejecutar este comando:

curl http://download.panamax.io/installer/ubuntu.sh | bash

Una vez que termine de instalar veremos la siguiente salida:

Checking if required software is installed.

Vagrant 1.6 or newer installed.
Virtualbox 4.3 or newer installed.

Starting Panamax
Bringing machine 'panamax-vm' up with 'virtualbox' provider...
==> panamax-vm: Clearing any previously set forwarded ports...
==> panamax-vm: Clearing any previously set network interfaces...
==> panamax-vm: Preparing network interfaces based on configuration...
panamax-vm: Adapter 1: nat
==> panamax-vm: Forwarding ports...
panamax-vm: 3000 => 8888 (adapter 1)
panamax-vm: 3001 => 8889 (adapter 1)
panamax-vm: 22 => 2222 (adapter 1)
==> panamax-vm: Running 'pre-boot' VM customizations...
==> panamax-vm: Booting VM...
==> panamax-vm: Waiting for machine to boot. This may take a few minutes...
panamax-vm: SSH address: 127.0.0.1:2222
panamax-vm: SSH username: core
panamax-vm: SSH auth method: private key
==> panamax-vm: Machine booted and ready!
==> panamax-vm: Setting hostname...
==> panamax-vm: Rsyncing folder: /home/teraswap/.panamax/ => /var/panamax
==> panamax-vm: - Exclude: [".vagrant/", "images*"]
==> panamax-vm: Running provisioner: shell...
panamax-vm: Running: inline script
==> panamax-vm: No valid Btrfs found on /dev/sda7
==> panamax-vm: Running provisioner: shell...
panamax-vm: Running: inline script
==> panamax-vm: Running provisioner: shell...
panamax-vm: Running: inline script
==> panamax-vm: Restarting Panamax
==> panamax-vm: Sep 15 11:32:48 panamax-vm docker[517]: [17fe66c7] -job stop(PMX_UI) = OK (0)
==> panamax-vm: Sep 15 11:32:48 panamax-vm docker[1290]: PMX_UI
==> panamax-vm: Sep 15 11:32:48 panamax-vm systemd[1]: Starting Panamax UI...
==> panamax-vm: Sep 15 11:32:48 panamax-vm docker[517]: 2014/09/15 11:32:48 DELETE /v1.13/containers/PMX_UI?force=1
==> panamax-vm: Sep 15 11:32:48 panamax-vm docker[517]: [17fe66c7] +job container_delete(PMX_UI)
==> panamax-vm: Sep 15 11:32:48 panamax-vm docker[517]: [17fe66c7] -job container_delete(PMX_UI) = OK (0)
==> panamax-vm: Sep 15 11:32:48 panamax-vm docker[1390]: PMX_UI
==> panamax-vm: Sep 15 11:32:48 panamax-vm systemd[1]: Started Panamax UI.
==> panamax-vm: Sep 15 11:32:48 panamax-vm docker[517]: 2014/09/15 11:32:48 POST /v1.13/containers/create?name=PMX_UI
==> panamax-vm: Sep 15 11:32:48 panamax-vm docker[517]: [17fe66c7] +job create(PMX_UI)
==> panamax-vm: Sep 15 11:32:48 panamax-vm docker[517]: [17fe66c7] -job create(PMX_UI) = OK (0)
==> panamax-vm: Panamax restarted
waiting for panamax to start.....

Please go to http://localhost:8888 to access panamax

Start Complete

Una vez que lo termina de instalar lo primero que hace es tratar de poner en funcionamiento Panamax, si arroja un error antes de que se inicie una solución posible seria ejecutar:

panamax stop
panamax start

Una vez que por linea de comandos nos indica que ha podido levantar Panamax sin problemas nos deberemos dirigir al browser y tipear http://localhost:8888 una vez hecho eso nos debería aparecer una pantalla como la siguiente:

Pantalla Principal

Pantalla Principal

En esta pantalla contamos con un buscar de imágenes, tanto en el repositorio de Panamax como en el de Docker.

¿Como lo uso?

Tanto para poder crear nuevas aplicaciones (templates con un entorno ya configurado) como para poder modificarlo nos deberemos dirigir a la opción de “Manage” en la misma veremos una pantalla como la siguiente:

Manejo de aplicaciones

Manejo de aplicaciones

 

En esta pantalla se pueden ver todas las aplicaciones que hemos creado (o sea todos los templates que hemos creado basándonos en imágenes de Docker), como así todas las imágenes que tenemos descargadas en nuestro repositorio local.

Para poder crear una nueva aplicación deberemos presionar en “Manage Applications” y en la siguiente pantalla presionar “Create a new Application”. Se nos aparecerá una pantalla similar a la de inicio en donde deberemos colocar el nombre de la imagen que queremos agregar dentro de nuestra aplicación, a modo de ejemplo buscaremos una imagen de NGINX

Repositorio de imagenes

Repositorio de imágenes

Como se muestra en la imagen se ve los templates que ya usan NGINX como las imágenes en el repositorio de Docker. Elegimos la imagen oficial y presionamos en “Run Image”, luego de unos segundos se nos debería aparecer una pantalla como la siguiente en la que se muestra que se ha creado una nueva aplicación y esta corriendo la imagen de NGINX.

Crear aplicacion

Crear una aplicación

En la parte inferior nos muestra un log de lo que fue realizando Panamax para poner en funcionamiento la aplicación de forma que podamos entender que es lo que hace y en caso de producirse un error poder entender el porque.

Algo que vale la pena recalcar es que dentro de cada categoría se puede poner mas de una imagen de Docker a funcionar o bien se pueden separar en distintas categorías eso depende mucho del uso que se le quiera dar.

Ahora supongamos que debemos configurar ciertos parámetros de la imagen como ser el puerto que se expone o el volumen que se necesita usar, para poder hacer eso nos debemos posicionar sobre la imagen que queremos modificar y se nos aparecerá un icono con forma de lupa. después de hacer click se nos aparecerá una pantalla como la siguiente:

Modificacion de parametros en imagen

Modificación de los parámetros en imagen

Notese que las opciones que comúnmente se usan en Docker están cubiertas en esta pagina y para el resto se nos proporciona un input para poner el resto de los comandos que se ejecutaran cuando se corra la imagen.

¿Como guardar el template?

Una vez que creamos el template de la aplicación con todas las imágenes que necesitábamos y las configuramos el problema que se nos plantea es si esa configuración se pierde, la respuesta a esa pregunta es que Panamax nos guarda en nuestro repositorio local todos los templates que hagamos para que lo podamos usar en un futuro.

Ahora tener un template en nuestra maquina es peligroso ya que si le pasa algo a la maquina o al disco duro perderemos todo y a la vez es difícil de poder compartirlo con otros usuarios, para esta situación hay una opción dentro de cada template para salvarlo. Lo que hace esta opción es vincular nuestro Panamax con una cuenta de Github que previamente tenemos que tener antes de poder guardar los cambios.

Guardado de template de una aplicacion

Guardado de template de una aplicación

Para poder guardar el template en Github mas allá de tener una cuenta deberemos generar el token (el link se encuentra en la misma pagina de guardado del template). Después de validar el token se nos aparecerá una pantalla como la siguiente donde deberemos poner todos los datos.

Guardado de Template en Github

Guardado de Template en Github

Una vez que se guarde el template sera accesible para cualquier persona que tenga Panamax siempre que el repositorio sea publico, en caso contrario solo lo veran las personas que tengan el token y que vinculen Panamax con Github.

Comando utiles

Panamax mas allá de contar con la interfaz gráfica dedicada al manejo de imágenes y aplicaciones tiene una serie de comandos para poder manejar temas relacionados con el funcionamiento de Panamax, para poder acceder a la consola de Panamax deberemos tipear Panamax en la consola y se nos desplegaran las opciones disponibles. Algunas de las opciones son:

  • init: por lo general se ejecuta la primera vez que Panamax se pone en funcionamiento, o sea cuando se instala.
  • restart: detiene todas las aplicaciones y Panamax
  • up: inicia Panamax en caso de que este apagado
  • download: actualiza la version de Panamax que tenemos instalada
  • delete: elimina Panamax junto con todas las aplicaciones que tengamos en nuestra maquina
No comments
TeraswapPanamax: Docker para humanos

Related Posts