GNU/LINUX

Orquestar con Docker Swarm

Posted on Actualizado enn

Swarm es un orquestador de contenedores nativo de Docker, con docker swarm puedes desplegar servicios  distribuyendo carga de trabajo, tráfico de red, persistencia de datos entre otras cosas interesantes a través de nodos.
docker

Instalar swarm:

Docker swarm ya viene por default en la  versión 1.12.0 o posterior, pero si no tienes swarm instalado:

apt-get install docker.io

o bien: https://docs.docker.com/engine/installation/

Lo que necesito:

./Dockerfile
./apache-config.conf
./www/index.php
/docker-compose.yml

 

Dockerfile:

Dockerfile

apache-config.conf:

apache-config.php

www/index.php:

www/index.php

docker-compose:

docker-compose.yml

Iniciar Docker swarm:

docker swarm init --advertise-addr IP
alt text

He iniciado docker swarm y he usado tlacuache1 que es el nombre del nodo líder.

Voy a usar otro nodo que lo nombraré como tlacuachebaby para demostrar como dos nodos pueden trabajar juntos y ayudarse entre si, el primer nodo se llama tlacuach1 que es el líder y el otro nodo se llama tlacuachebaby que va a funcionar como trabajador. No especifiqué  un puerto déspues de la dirección IP así que Docker Swarm usará el puerto 2377 por default.

Agregar un nodo como trabajador a swarm

Dentro de tlacuachebaby:

docker swarm join --token SWMTKN-1-3oluxaye8s8denuv8ugo602lb99as6qos5rifwtp39kkn69fwg-7qsmgtk1vjriuqghvclj9mpy5 IP:2377

 

Dentro del manager (tlacuache1):

docker node ls
alt text

Desplegando servicio:

docker stack deploy -c docker-compose.yml app
app –> nombre del servicio.

alt text

 

Esto es mágico, acabamos de desplegar 20 contenedores y estamos balanceando la carga entre dos nodos, si quieres escalar el servicio puedes editar el archivo docker-compose.yml.

Viendo la magia:

alt text

Intenta detener un contenedor y vas a poder ver la magia. 
Docker Swarm crea otro contenedor para compensar el que se ha detenido todo esto gracias a restart_policy: condition: on-failure que tenemos en el archivo docker-compose.yml

 Este articulo ha sido inspirado gracias a Tlacuaches Project.

Desplegando Etherpad y MySQL usando Docker.

Posted on Actualizado enn

He estado usando Docker en su versión 17.06.1-ce, a continuación describiré como desplegar etherpad usando como motor de base de datos MySQL.
docker
Aquí el procedimiento:

  • Crear un nombre de red donde se va a centralizar el despliegue, le llamaré tlacuaches_network:

$ docker network create tlacuaches_network

  • A continuación se despliega el primer contenedor usando MySQL(tlacuachesdb es el nombre del contenedor).

$ docker run -d --network tlacuaches_network -e MYSQL_ROOT_PASSWORD=password --name tlacuachesdb mysql

  • Desplegaré el segundo contenedor donde se albergará etherpad y lo llamaré eptlacuaches

$ docker run -d --network tlacuaches_network -e ETHERPAD_DB_HOST=tlacuachesdb -e ETHERPAD_DB_PASSWORD=password -p 9001:9001 --name eptlacuaches tuxisma/eptlacuaches

Explicación de algunos parámetros que soporta la imagen eptlacuaches:

ETHERPAD_DB_HOST: Nombre del host de la base de datos de mysql, en este caso tlacuachesdb
ETHERPAD_DB_PASSWORD: Contraseña que se le asigna a MySQL.

La imagen esta hosteada en https://hub.docker.com/r/tuxisma/eptlacuaches/

Aquí mas información: https://github.com/tuxisma/etherpad-lite

containersrunning

En la captura de arriba podemos ver los dos contenedores creado y corriendo con éxito.

A continuación podemos ver etherpad corriendo sobre un contenedor:

etherpadrunning
etherpad

Hurrah! It’s done!!

Usar frogr para subir fotos a flickr en Ubuntu 16.04 LTS

Posted on Actualizado enn

Para subir fotos a flickr es necesario usar el sitio web de flickr,  pero si se quiere optar por una aplicación externa, flogr es una buena opción.

¿Frogr?

Frogr es una aplicación para  escritorios GNOME pero tambien funciona con Unity(escritorio por default en Ubuntu),  frogr permite a usuarios administrar cuentas de Flickr, soporta varias caracteristicas basicas de Flickr, por ejemplo, Subir archivos, agregar descripción y agregar etiquetas.

Descargar e Instalar

Escribir los siguientes comandos:
sudo add-apt-repository ppa:mariospr/frogr
sudo apt-get update
sudo apt-get install frogr

Para iniciar frogr, solo hay que escribir frogr en la terminal:
frogr

Cuando inicias frogr por primera vez, es necesario autorizar la aplicación lo cual significa que se conectará a una cuenta en Flickr.
frogr

Click en el botón OK y se desplegará el sitio web de Flickr, donde se autorizará el acceso a frogr, Click en “OK, I’LL AUTHORIZE IT”, Flickr muestra 9 dígitos para que se escriba en frog:

Screenshot from 2017-07-13 13-37-31

Se escribe aquí:

frogr-authorize

Click en el botón “Close”, en automático frogr se conectará a Flickr con éxito.

Con frog se pueden crear proyectos, si no estas seguro de subir las fotos en ese momento,  puedes dejarlo pendiente y guardar el proyecto, cuando lo decidas , ese proyecto estará guardado y poder reanudarlo.