Docker Logo

Cómo preparar una máquina virtual para trabajar con Docker en Azure

Las máquinas virtuales a la hora de probar cosas nuevas son muy prácticas, más si están desplegadas directamente en la nube. Gracias a ello tu equipo se mantiene limpio y no se ocupa espacio ni recursos. Preparando una sesión de introducción a los contenedores y en especial a Docker he estado preparando el entorno para hacer todas las demos en Azure. La idea es tener todas las herramientas relacionadas con Docker y su integración con Azure en un mismo lugar permitiendo de esta manera facilitar el trabajo.

La idea es instalar la versión experimental de Docker y así disfrutar de las últimas novedades de la DockerCon. Junto con ello, disponer de Machine, Compose, Swarm y también de las herramientas de línea de comandos de Azure para linux. Un pack básico para sacar todo el provecho de Docker en Azure. ¡Empecemos!

El cliente de Docker

En primer lugar es necesario disponer del cliente de Docker. En Azure es posible instalarlo directamente haciendo uso de las extensiones disponible para máquinas virtuales; sin embargo, en este caso me interesa disponer de la última versión diponible en el canal Experimental . En la última DockerCon anunciaron la disponibilidad de estas nuevas builds enfocadas a incluir las novedades que se están evaluando sin interferir con la rama principal de desarrollo.

La versión 1.7 Experimental trae cosas bastante esperadas como las novedades de networking. Para facilitar la instalación el equipo de Docker ha puesto a nuestra disposición un script de Bash preparado para instalar todas las dependencias necesarias. Únicamente es necesario ejecutar lo siguiente:

wget -qO- https://experimental.docker.com/ | sh
sudo usermod -aG docker jangelfdez

El segundo comando permite añadir nuestro usuario local al grupo de Docker para evitar tener que estar ejecutando Docker con permisos de sudo cada vez que queramos realizar algo.

Machine y Compose

Una vez obteniedo el cliente de Docker vamos a proceder a instalar las últimas versiones de Machine, la utilidad para crear hosts de Docker; y Compose, la utilidad para gestionar la creación de escenarios más complejos de forma orquestada.

Es posible realizar la instalación desde el código fuente y generar nuestros binarios; sin embargo, el esfuerzo necesario es superior a la facilidad de obtener los binarios ya pre-compilados para nuestra plataforma. El equipo de Docker publica con cada release los binarios en GitHub por lo que podemos descargarlos, darle permisos de ejecucción y copiarlos al directorio bin para acceder facilmente a los mismos.

Para Machine será necesario hacer lo siguiente

curl -L https://github.com/docker/machine/releases/download/v0.3.0/docker-machine_linux-amd64 > docker_machine
sudo chmod +x ./docker-machine
sudo cp docker-machine /usr/bin/

Mientras que para Compose será parecido.

curl -L https://github.com/docker/compose/releases/download/1.3.1/docker-compose-`uname -s`-`uname -m` > docker_compose
sudo chmod +x ./docker_compose
sudo cp docker-compose /usr/bin

Swarm

De la suite de herramientas para trabajar con Docker nos queda Swarm, la solución de clustering disponible. La recomendación oficial es instalarlo a través del contenedor disponible por lo que ejecutando lo siguiente nos descargaremos el contenedor y crearemos un alias para reducir lo que tenemos que escribir.

docker pull swarm
alias swarm ="docker run --rm swarm"

Herramientas de Azure

Finalmente, para interactuar con Azure es recomendable tener las herramientas de línea de comandos cross-platform. De esta manera podremos realizar los cambios o ajustes necesarios a nuestro entorno sin necesidad de salir de la consola y acceder al portal.

sudo apt-get install nodejs-legacy
sudo apt-get install npm
sudo npm install -g azure-cli

Con esto tendremos lo necesario para jugar con Docker en Azure. El siguiente pasado podría ser convertir esta máquina virtual en una plantilla para así poder eliminarla y recrearla según necesitemos.

2 thoughts on “Cómo preparar una máquina virtual para trabajar con Docker en Azure”

  1. Hola Señor,
    Que plantilla de la galeria usas como base para desplegar todo esto?
    Un saludo

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.