Lanzar container con Docker Swarm


Docker Raspberry
Facebooktwittergoogle_plusredditpinterestlinkedinmailFacebooktwittergoogle_plusredditpinterestlinkedinmail

Anteriormente os explicamos la configuración y la instalación de Docker Swarm , http://raspberryzero.com/index.php/2016/03/07/docker-hypriot-cluster-lab-cluster-docker-con-raspberry-pi/ , pero no os explicamos como lanzar una aplicación en diferentes nodos y por ello este tutorial.

Partiremos del entorno que creamos en la instalación anterior y en base a eso vamos a desplegar una aplicación con un servicio apache2 y la imagen típica de busybox para testear. Para ello ejecutaremos el siguiente comando:

docker -H cl-master:2378 run -itd -p 80:80 –name=webserver –env=”constraint:node==cl-node-1″ hypriot/rpi-busybox-httpd

Analizamos un poco el comando para comprender que estamos haciendo exactamente:

“-H”: le indicamos el nodo master para que docker swarm gestione el container.

“-itd”: Parámetros para la ejecución en segundo plano.

“-p 80:80”: Indicamos que escuchará en el puerto 80 y hará el bind con el contenedor.

“-name=”: Le damos un nombre al contenedor

“-env=”: Le indicamos sobre que nodo queremos ejecutar el contenedor, si no ponemos este parametro docker swarm pondrá el contenedor en el nodo que el crea conveniente según la carga de los diferentes nodos.

Finalmente le indicamos el contenedor que queremos ejecutar, en este caso, hypriot/rpi-busybox.httpd .

Ahora si abrimos en nuestro navegador la url perteneciente a cl-node-1 , http://192.168.1.221 veremos que el contenedor se ha desplegado correctamente.

Docker Busibox

Docker Busybox

Ahora podemos probar de ejecutar cualquier contenedor hecho por nosotros o de los repositorios oficiales y lanzarlo contra los nodos que tenemos como workers.

Facebooktwittergoogle_plusredditpinterestlinkedinmailFacebooktwittergoogle_plusredditpinterestlinkedinmail