Drupal es un CMS muy potente para la creacion de sitios web o MVP de aplicaciones, sin embargo algunas operaciones de mantenimiento son mas sencillas de realizar desde la consola de comandos o directamente ser automatizadas en el servidor. Para poder realizar estas funciones utilizamos drush, y en este articulo aprenderemos a usarlo con docker-compose.
Docker-compose
Docker compose es una herramienta para configurar entornos de desarrollo o produccion a traves de un archivo de definicion YML. En este archivo podemos definir toda la infraestructura de servidores que se necesita para un proyecto en especifico, en este particular para un sitio drupal.
Por ejemplo, este seria un archivo docker-compose.yml para drupal
version: '2'
services:
db:
image: mysql:5.7
environment:
- MYSQL_ALLOW_EMPTY_PASSWORD=true
drush:
image: drush/drush:7
volumes:
- wwwroot:/app/
- ./:/app/sites/default/
web:
image: drupal:7
volumes:
- wwwroot:/var/www/html/
- ./:/var/www/html/sites/default/
ports:
- 80:80
depends_on:
- db
stdin_open: true
tty: true
volumes:
wwwroot: {}
En este archivo, definimos 3 servicios:
- DB, aca iniciara el motor de base de datos necesario para que drupal se conecte.
- WEB, aca iniciara el servidor apache con una instalacion base de drupal
- DRUSH, este servicio no es ejecutable, sino que nos permite ejecutar el comando drush en la misma carpeta de codigo que usa el servicio WEB.
Para iniciar el servidor de drupal debemos ejecutar el comando
docker-compose up -d web
Este comando nos permite arrancar el servicio WEB y el servicio DB ( el cual esta ligado con WEB depends_on )
Para ejecutar un comando drush, usamos el siguiente comando
docker-compose run --rm drush cc all
Este comando iniciar una instancia del servicio DRUSH, ejecuta el comando drush cc all y elimina la instancia.
Add new comment