Soy desarrollador fullstack, me encanta los retos tecnologicos en la busqueda de las soluciones mas creativas para los negocios. NodeJS - PHP - Python - Django - Drupal - Android - Swift - React Native
Un sitio web de recetas de la marca Bimbo ofrece deliciosas ideas de cocina y postres utilizando productos de la marca. Con fáciles pasos y fotografías, puedes encontrar inspiración para tus comidas diarias o para ocasiones especiales. ¡Disfruta de la comida Bimbo!
La implementación del sitio web se realizo con Drupal, bajo las politicas de seguridad del grupo Bimbo.
El comando docker-compose up inicia todos los servicios de nuestro proyecto. Incluso servicios que no deseamos como herramientas ( drush, por ejemplo ) o servicios de mantenimiento esporadicos ( docker-compose run –rm ). Entonces como podemos evitar que ciertos servicios se inicien con docker-compose up ?
Existe una opcion en nuestro archivo de configuracion docker-compose.yml con la cual podemos indicar que algun(nos) servicios no esten disponibles al levantar nuestro proyecto.
Profiles en Docker Compose
Cuando declaramos un servicio dentro de nuestro archivo docker-compose.yml podemos establecer la opcion profiles y establecer a que perfiles de ejecucion pertenecera ese servicio.
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
PGAdmin es una herramienta de Interfaz grafica para administracion de nuestros servidores de base de datos postgres. En este articulo, vamos a añadirlo a nuestro archivo docker-compose para poder administrar nuestra base de datos remotamente.
Punto de inicio
Vamos a partir de una situacion donde ya tenemos nuetro docker corriendo y ejecutando postgresql. Para lo cual puedes guiarte de este otro articulo: Instalando Postgres en Docker
Agregando el servicio de pgAdmin
Para instalar pgadmin vamos a editar nuestro archivo docker-compose.yml y añadir un nuevo servicio
Como pueden ver en el codigo anterior, hemos añadido un servicio pgadmin, el cual se crea a partir de la imagen docker dpage/pgadmin4. Este nuevo servicio se ejecuta en el puerto localhost:8080.
Y listo ya tenemos pgadmin instalado 😉
Si tienes alguna duda, dejamelo en los comentarios y juntos lo resolveremos. 😀
Si quieres hacer una instalación local de wordpress, te mostrare los pasos a seguir usando docker.
NOTA: La instalación de Docker esta pensada para Ubuntu pero pueden replicarse en windows Mac u otra distribucion Linux.
Instalar Docker
Descubrir docker es algo que te cambia la vida. Finalmente puedes hacer instalaciones de sistemas de forma rapida. Ya no tienes miedo de desconfigurar tu maquina principal. Y puedes hacer cuantas pruebas requieras en la configuracion de los servidores. Sin embargo, aun debes crear las imagenes y lanzar los containers de forma manual. Montar volumenes, configurar las redes internas, etc. Para evitar ese trabajo manual yo recomiendo usar docker-compose.
Docker-compose es una herramienta que intrepreta un archivo de texto docker-compose.yml y ejecuta por ti todos los comandos docker correspondientes.
En este caso, para instalar Docker, Docker-compose y todas sus dependencias necesarias ejecutamos el comando:
sudo apt install docker-compose
Una vez terminado, estamos listos para instalar nuestro wordpress.
Instalar WordPress
Creamos una carpeta donde residira el proyecto:
mkdir proyecto-wordpress
En dicha carpeta creamos un archivo docker-compose.yml:
version: ‘2’
services:
web:
image: wordpress
volumes:
– ./wp-content/:/var/www/html/wp-content/
ports:
– 80: 80
depends_on:
– db
links:
– db : db
El archivo en cuestion le indica al sistema que se descargue la ultima version de wordpress, que ejecute el servidor en el puerto 80 de nuestro localhost, y que la proyecto-wordpress/wp-content contenga toda la informacion que se sube a wordpress.
Ahora procedemos a ejecutar el servicio de wordpress ejecutando el comando
docker-compose up -d
Al realizar la configuración inicial de wordpress a traves de localhost, debemos tomar en cuenta, que al usar docker el Database Host ya no sera localhost sino db. ( En el archivo docker-compose.yml, en la seccion services => web => links => le pusimos el nombre db al servidor de la base de datos ).
Instalación Finalizada Exitosamente 😉
Comandos de Docker-Compose
El servicio de docker no es algo que debe estar permanentemente en memoria. Podemos prenderlo y apagarlo cuando lo necesitemos.
Al momento de crear una imagen personalizada usando dockerfile es necesario instalar paquetes de software y algunos de estos vienen con un set de preguntas para ti.
Hoy dia por ejemplo, tuve que instalar un apache sobre una imagen de ubuntu y queria saber en que Region / Ciudad vivia. Al ejecutar el comando docker-compose build … ahi quedaba mi intento por configurar mi sistema. No habia forma de saltar ese paso.
Para poder evitarlo, le indique al script de docker ( dockerfile ) que estableciera la variable de sistema DEBIAN_FRONTEND como noninteractive.
En la configuración de tu archivo docker-compose.yml, puedes definir si quieres descargar una imagen del dockerhub o si prefieres construirla tu mismo usando el archivo dockerfile de tu proyecto.
Sin embargo, tambien puedes usar las dos instrucciones al mismo tiempo:
build: .
image: testing:prod
En este caso, docker-compose usara el comando build para construir la imagen, pero le pondra el nombre indicado en image 😀