Taller Docker - Escenarios multicontenedor en Docker
Despliegue de Nextcloud en Docker
Vamos a desplegar la aplicación nextcloud con una base de datos utilizando la aplicación docker-compose. Puedes coger cómo modelo el fichero docker-compose.yml el que hemos estudiado para desplegar WordPress.
- Instala docker-compose en tu ordenador.
sudo apt install docker-compose
- Dentro de un directorio crea un fichero docker-compose.yml para realizar el despliegue de nextcloud con una base de datos. Recuerda las variables de entorno y la persistencia de información.
mkdir nextcloud
cd nextcloud
nano docker-compose.yml
Dentro del fichero docker-compose.yml debes definir los siguientes servicios:
version: '3.7'
services:
nextcloud:
image: nextcloud:latest
container_name: nextcloud
restart: always
ports:
- 8080:80
volumes:
- nextcloud:/var/www/html
environment:
- MYSQL_HOST=mariadb
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_PASSWORD=admin
- MYSQL_ROOT_PASSWORD=nextcloud
db:
image: mariadb:latest
container_name: nextcloud-db
restart: always
volumes:
- nextcloud-db:/var/lib/mysql
environment:
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_PASSWORD=admin
- MYSQL_ROOT_PASSWORD=nextcloud
volumes:
nextcloud:
nextcloud-db:
- Levanta el escenario con docker-compose.
docker-compose up -d
- Muestra los contenedores con docker-compose.
docker-compose ps
- Accede a la aplicación y comprueba que funciona.
http://localhost:8080
- Comprueba el almacenamiento que has definido y que se ha creado una nueva red de tipo bridge.
docker volume ls
docker network ls
- Borra el escenario con docker-compose.
docker-compose down