Taller Drupal sobre Docker

Taller Drupal sobre Docker

¿Qué es Docker?
Docker es una plataforma de software que permite crear, probar e implementar aplicaciones rápidamente. Docker empaqueta software en unidades estandarizadas llamadas contenedores que incluyen todo lo necesario para que el software se ejecute, incluidas bibliotecas, herramientas de sistema, código y tiempo de ejecución.

Ventajas de emplear Docker
Portabilidad, solo se tiene que programar la aplicación una sola vez.
Se obtiene una mayor consistencia entre los entornos de prueba y los entornos de producción.
Se obtiene mayor modularidad y seguridad.
Las instancias de Docker son más ligeras.
Los contenedores son gratuitos y de código abierto.
Contenedores VS. Máquinas virtuales
La diferencia funcional de cómo trabajan los contenedores con respecto a cómo trabaja una máquina virtual, en el gráfico de la derecha que se muestra a continuación se evidencia cómo trabaja una máquina virtual. 

Imagen esquema de funcionamiento contenedores

Instalación de Docker y Docker-compose

  • Para máquinas Linux Ubuntu: 

https://docs.docker.com/engine/install/ubuntu/ 

  • Para máquinas Linux Fedora: 

https://docs.docker.com/engine/install/fedora/ 

  • Docker Compose:

https://docs.docker.com/compose/install/ 

Importante:  sudo usermod -aG docker {usuario}

Instalación de Docker y Docker-compose

Para equipos Mac, se debe ingresar a la página https://docs.docker.com/desktop/mac/install/ para descargar el instalador.

Imagen instalacíon docker

Montaje de un proyecto existente.

  • cd ~/proyectos
  • mkdir taller
  • cd taller
  • wget https://github.com/wodby/docker4drupal/releases/download/5.4.9/docker4drupal.tar.gz
  • tar -xvzf docker4drupal.tar.gz
  • mkdir mariadb-init
  • git clone https://github.com/GustavoA-Contre/taller.git code
  • cd ~/proyectos/taller/code
  • cd ..
  • Edición del archivo .env 
  • rm docker4drupal.tar.gz
  • rm docker-compose.override.yml
  • rm docker-sync.yml
  • Edición del archivo docker-compose.yml (traefik:v1.7.16-alpine)
  • Ubicamos el archivo .sql.gz en mariadb-init
  • gunzip mariadb-init/drupal.sql.gz
  • Configuración del settings.local.php
  • cd ~/proyectos/taller/code
  • mkdir tmp
  • chmod -R 755 tmp
  • cd ~/proyectos/taller
  • chown -R {usuario}:docker code
  • chmod 777 -R ~/proyectos/taller/code/web/sites/default/files
  • docker-compose up -d
  • docker-compose exec php composer install
  • docker-compose exec php drush cr

A continuación compartimos el video del taller de Docker paso a paso