Docker usa una tecnología de contenedores que nos permite desplegar imágenes y estas imágenes suelen contener servicios como base de datos – Mysql, servidor web – Nginx, sistemas de mensajería – rabbitmq y un sin fin mas. Pero unos de los problemas que presenta este sistema es que necesitaremos varios de estos servicios para hacer que funcione nuestro software.

Sin ir mas lejos y como ejemplo con WordPress el cual necesitaremos tener en nuestro caso una base de datos como MySQL y un servidor web con soporte PHP.

Por lo que la opciones que Docker nos propone para este tipo de configuraciones, es Docker Compose, el cual nos deja usar varias imágenes y comunicarlas, para conseguir los requisitos necesarios para que funcione nuestro software, en nuestro caso WordPress.

 

Bien para comenzar iremos a azure y haremos click en la Shell y elegimos bash

Una vez en inicialice todo, empezaremos metiendo las variables necesarias para crear un grupo de recursos, las cuales serán el nombre y la localizacion

RGNombre=”RGDocker”
REGION=”eastus”

Y ahora creamos el grupo de recursos con el siguiente comando

az group create –name $RGNombre –location $REGION

 

ya tendríamos creado el grupo de recursos. Ahora queremos crear el host donde montaremos los contenedores y el Docker compose. Y para eso usaremos una plantilla JSON que encontraremos en la siguiente direccion de GitHub. https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/docker-simple-on-ubuntu/azuredeploy.json

Por lo que el paso siguiente es lanzar la plantilla para que se despliegue el host mediante el siguiente comando

Az group deployment create –resource-group $RGNombre –template-uri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/docker-simple-on-ubuntu/azuredeploy.json

Y nos pedirá que rellenemos unos parámetros como el usuario y pass

 

Mientras termina de desplegarse el host, instalaremos el cliente SSH putty para poder conectarnos al host.

Una vez terminado de instalar el Docker usaremos su ip para conectarnos por SSH a la maquina y montar el wordpress con la base de datos MySQL. Para eso vamos a la maquina virtual y en Overview nos mostrara la ip externa y dns

Nos conectamos por SSH

Y comprobamos que tenemos el Docker Compose instalado con el comando: Docker-compose –versión

Ahora nos ponemos como Root con el comando: Sudo Su

Y creamos una carpeta llamada “WordPress” con el comando: mkdir WordPress

Entramos en la carpeta y debemos crear el archivo YML que nos desplegara los contenedores con WordPress y la base de datos MySQL. Por lo que usaremos el siguiente comando con el editor nano para crear el archivo YML:  Docker-compose.yml

Una vez dentro del archivo que acabamos de crear “Docker-compose.yml” vamos a meter el script para que monte el WordPress y el msql por lo que pondremos el siguiente script

version: '2.0'

services:
   db:
     image: mysql:5.7
     volumes:
       - db_data:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: somewordpress
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress

   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     ports:
       - "80:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpress
volumes:
    db_data:

Y guardamos con control + O

y para salir del editor nano: control + X

Una vez creado el archivo yml, lanzamos el siguiente comando dentro de la carpeta WordPress donde esta el archivo que acabamos de crear “yml” para desplegarlo.

Docker-compose up -d

Una vez ha terminado, mediante el siguiente comando, podemos ver los contenedores creados:

Docker-compose ps

Y para ir finalizando, solo nos quedaría coger la ip de la maquina virtual, o mejor el dns que nos facilita la maquina virtual y ponerlo en un explorador de internet. Y nos cargara la pagina de configuración de WordPress con lo que vemos que se ha desplegado correctamente WordPress y MySQL.

Y para terminar unos comandos útiles serán los que nos permiten apagar y encender los contenedores los cuales son:

Docker-compose start

Docker-compose stop

 

 

Autor/a: Jesus Vaquero Martin
Curso: Microsoft MCSA / MCSE Windows Server 2016 + MCSE Cloud Platform & Infrastructure
Centro: Tajamar
Año académico: 2017-2018

https://www.linkedin.com/in/jesusvaqueromartin/

https://www.youracclaim.com/user/jesus-vaquero-martin

 

Leave a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *