Utilizar Docker en Azure

Docker en Azure

En este post vamos a ver como utilizar docker en Azure para poder gestionar nuestros containers, así como también crear imágenes propias (próximo post) y hacer uso de ellas posteriormente.

Como requisito para empezar a trabajar es necesario contar un un host de Docker en Azure. Para ello, luego de haber ingresado al portal de Azure, vamos a New y buscamos docker. Como resultados vamos a tener una opción Docker on Ubuntu Server (que nos genera una instancia de Ubuntu 16.04 LTS con Docker ya instalado).

Crear host de Docker en Azure

Luego de seleccionar vamos a pulsar el botón Create. A partir de este momento debemos completar el asistente de implementación con los siguientes datos:

  • Hostname
  • Username/Password
  • Pricing tier
  • Resource Group
  • Location

Culminado el proceso, vamos a acceder a la VM y publicar 2 puertos para poder utilizarlos posteriormente (80 y 443). Este requerimiento lo realizamos accediendo a los endpoints de la VM, como indica la siguiente imagen:

Agregar endpoints

Y completamos los campos con los siguientes datos en orden:

  • HTTP / 80 /80
  • HTTPS / 443 / 443

Asistente para agregar endpoints

Conexión con el host de Docker

Lo primero que vamos a hacer es conectarnos a nuestro host de Docker en Azure. Para ello vamos a abrir una consola de PowerShell y posteriormente ejecutar lo siguiente:

Fácil no? Bueno, en realidad con lo anterior solamente accedimos a nuestra consola de bash en Windows para poder utilizar el cliente ssh que trae incluido. En caso de que no tengan habilitada la feature de Bash on Ubuntu on Windows, les dejo un post anterior para que sepan como habilitarlo: Habilitar Bash en Windows

Para conectarnos por ssh desde nuestra consola basta ejecutar:

Nos aparecerá una advertencia indicando que no se conoce al host y si realmente queremos conectarnos, al escribir yes automáticamente se agrega el host como conocido. A partir de estos momentos estamos conectados a nuestro host de Docker en Azure.

Docker

Para comenzar a trabajar con Docker vamos a ver como hacemos para conocer los containers que se encuentran en ejecución en nuestro host, con el comando ps, de la siguiente manera:

Y para tener una lista de las imagenes que disponemos en el host, el comando es images:

Docker en Azure

Es obvio que el resultado de ambos comandos es en blanco, ya nos encontramos sobre una instalación limpia. Así que vamos a comenzar a creando un container para comprobar el funcionamiento correcto de la plataforma y de los endpoints que configuramos.

En cuestión, vamos a hacer el “Hola mundo!” de los containers:

Ok, parece que solo imprimimos un mensaje en pantalla, pero realmente se realizó la descarga de la imagen ubuntu y se generó un container a partir de esa imagen, al que se le especificó que imprimiera un msje en particular. ¿Cómo podemos comprobar que se descargó la imagen en cuestión? De la siguiente manera:

Usar la imagen Ubuntu para nuestro container

Como muestra la imagen anterior vemos que existe una imagen en nuestro store local y a su vez, tenemos un container corriendo en nuestro host.

Descargar una imagen en particular

En caso de conocer la imagen que pretendemos utilizar en el host, existe el comando pull que nos permite realizar esta tarea:

Que nos permite descargar según el ejemplo la imagen oficial de Jekyll (generador estático para blogs).

Saludos,