Wordpress - Docker compose
En este post veremos cómo hacer un deploy de wordpress con docker-compose. Comenzamos:
Si prefieren leer la guía completa de instalación, les dejo el link:
https://docs.docker.com/compose/install/
Primero instalamos docker-compose para facilitar el trabajo.
Descargamos la última versión stable:
$ sudo curl -L \
"https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname -s)-$(uname -m)"\
-o /usr/local/bin/docker-compose
Le damos permisos de ejecución:
$ sudo chmod +x /usr/local/bin/docker-compose
Instalamos el autocompletado:
$ sudo curl -L \
https://raw.githubusercontent.com/docker/compose/1.25.0/contrib/completion/bash/docker-compose \
-o /etc/bash_completion.d/docker-compose
Una vez que tenemos docker-compose funcionando, creamos un directorio:
$ mkdir wordpress && cd wordpress
Creamos un archivo YAML:
$ nano docker-compose.yml
version: '3.3'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: cambiarPassword
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
WORDPRESS_DB_NAME: wordpress
volumes:
db_data: {}
Fijense que vamos a usar un volumen (db_data), docker-compose se va a encargar de crearlo por nosotros.
Un aspecto importante es la línea depends_on, con esto especificamos que wordpress depende de la base de datos y necesita que esté creada para funcionar.
Vamos a hacer un deploy:
$ docker-compose up -d
Hacemos un "docker ps" y vemos que se hayan creado correctamente.
Luego si consultamos la IP de nuestra máquina en el puerto 80 debería mostrarnos la típica instalación de wordpress:
Para borrar todo:
$ docker-compose down (remueve los containers y la red default).
$ docker-compose down --volumes (para remover la base de datos).