Docker Compose
Docker Compose es una utilidad de Docker que nos ayuda a la hora de crear múltiples contenedores Docker al mismo tiempo. A diferencia de Docker Cli este no hay que crearlo directamente en la terminal, sino que se crea un archivo .yml que es más fácil de ser modificado y configurado que en la propia terminal. Una vez creado solo se tiene que ejecutar un comando por terminal que comprobará el archivo e instalara y configurara lo que le hemos descrito en el mismo.
Creación de WordPress por Docker Cli
Primero se crea el Docker de la base de datos.
docker create \
--name=mariadb \
--net=lsio \
-e PUID=1000 \
-e PGID=1000 \
-e MYSQL_ROOT_PASSWORD=mariadbpassword \
-e TZ=Europe/London \
-e MYSQL_DATABASE=WP_database \
-e MYSQL_USER=WP_dbuser \
-e MYSQL_PASSWORD=WP_dbpassword \
-v /home/aptalca/appdata/mariadb:/config \
--restart unless-stopped \
lscr.io/linuxserver/mariadb
Y de la misma forma que la base de datos tendremos que crear el contenedor donde irá instalado la aplicación de WordPress.
docker create \
--name=swag \
--cap-add=NET_ADMIN \
--net=lsio \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Europe/London \
-e URL=linuxserver-test.com \
-e SUBDOMAINS=wildcard \
-e VALIDATION=dns \
-e DNSPLUGIN=cloudflare \
-p 443:443 \
-p 80:80 \
-v /home/aptalca/appdata/swag:/config \
--restart unless-stopped \
lscr.io/linuxserver/swag
Una vez creadas los dos contenedores los tendremos que poner en la misma red de docker para que se puedan comunicar. Y pos ultimo dentro del segundo contenedor creado tendermos que instalar Wordpress:
wget https://wordpress.org/latest.tar.gz
tar xvf latest.tar.gz -C /home/aptalca/appdata/swag/www/
rm latest.tar.gz
Creado con Docker Compose
---
version: "2.1"
services:
mariadb:
image: lscr.io/linuxserver/mariadb
container_name: mariadb
environment:
- PUID=1000
- PGID=1000
- MYSQL_ROOT_PASSWORD=mariadbpassword
- TZ=Europe/London
- MYSQL_DATABASE=WP_database
- MYSQL_USER=WP_dbuser
- MYSQL_PASSWORD=WP_dbpassword
volumes:
- /home/aptalca/appdata/mariadb:/config
restart: unless-stopped
swag:
image: lscr.io/linuxserver/swag
container_name: swag
cap_add:
- NET_ADMIN
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/London
- URL=linuxserver-test.com
- SUBDOMAINS=wildcard
- VALIDATION=dns
- DNSPLUGIN=cloudflare
volumes:
- /home/aptalca/appdata/swag:/config
ports:
- 443:443
- 80:80
depends_on:
- mariadb
restart: unless-stopped
A diferencia de Docker Cli, en Docker Compose se pude hacer todo en el mismo archivo y despues ejecutarlo en terminal
docker-compose up -d
Una vez el docker esta creado, si se modifica el archivo se tendra que crear los docker de nuevo y prar eso esta el siguiente comando
docker-compose up -d --force-recreate
Puede ser creado y configurado en un editor de texto y despues trasladarlo al archivo .yml de nuestro server.