Diferència entre revisions de la pàgina «WordPress amb Compose. Curs 2024-2025»
(Es crea la pàgina amb «[https://aulasoftwarelibre.github.io/taller-de-docker/docker-compose/ Levantar un WordPress con Compose]».) |
m (→En marxa) |
||
| (Hi ha 8 revisions intermèdies del mateix usuari que no es mostren) | |||
| Línia 1: | Línia 1: | ||
| + | = Abans de començar = | ||
| + | Amb les pràctiques que hem anant fent: | ||
| + | |||
| + | A [[Exemple de docker amb nginx, PHP i MariaDB]] hem fet servir el port 8080 per al PhpMyAdmin | ||
| + | |||
| + | A [[WordPress amb docker. Curs 2024-2025]] hem fet servir el port 8081 per a no col·lisionar amb el port del PhpMyAdmin de l'exemple anterior. | ||
| + | |||
| + | A l'exemple actual farem servir el port 8082. Però si no ens cal l'exemple anterior podem esborrar els contenidors fets a l'exercici anterior. Es faria així: | ||
| + | docker container stop wordpress wordpress-db | ||
| + | docker container rm wordpress wordpress-db | ||
| + | docker volume rm wordpress-db | ||
| + | = Docker Compose = | ||
| + | ''Compose''' és una eina per a definir i executar aplicacions multi-contenidor. Amb una sola ordre podrem crear i iniciar tots els serveis que necessitem per a la nostra aplicació. | ||
| + | |||
| + | Els casos d'ús més habituals per a docker compose són: | ||
| + | |||
| + | * Entorns de desenvolupament | ||
| + | * Entorns de testatge automàtics (integració contínua) | ||
| + | * Desplegament en host individuals (no clústers) | ||
| + | |||
| + | ''Compose'' té ordres per a manejar tot el cicle de vida de la nostra aplicació: | ||
| + | |||
| + | * Iniciar, detenir i refer serveis. | ||
| + | * Veure l'estat dels serveis. | ||
| + | * Visualitzar els logs. | ||
| + | * Executar una ordre a un servei. | ||
| + | = Creació automatitzada de contenidors = | ||
| + | Al mateix directori on estàvem al pas anterior (''~/Sites/wordpress''), crearem un fitxer anomenat docker-compose.yaml amb el següent contingut: | ||
| + | == docker-compose.yaml == | ||
| + | jordi@asix2:~/Sites/wordpress$ nano docker-compose.yaml | ||
| + | |||
| + | services: | ||
| + | db: | ||
| + | image: '''mariadb:10''' | ||
| + | volumes: | ||
| + | - data:/var/lib/mysql | ||
| + | environment: | ||
| + | - MYSQL_ROOT_PASSWORD=secret | ||
| + | - MYSQL_DATABASE=wordpress | ||
| + | - MYSQL_USER=manager | ||
| + | - MYSQL_PASSWORD=secret | ||
| + | web: | ||
| + | image: '''wordpress:6''' | ||
| + | depends_on: | ||
| + | - db | ||
| + | volumes: | ||
| + | - ./target:/var/www/html | ||
| + | environment: | ||
| + | - WORDPRESS_DB_USER=manager | ||
| + | - WORDPRESS_DB_PASSWORD=secret | ||
| + | - WORDPRESS_DB_HOST=db | ||
| + | - WORDPRESS_DB_NAME=wordpress | ||
| + | ports: | ||
| + | - '''''8082''''':80 | ||
| + | |||
| + | volumes: | ||
| + | data: | ||
| + | Els fitxers de ''Compose'' estan dividits en tres seccions: ''services'', ''volumes'' i ''networks''; i han d'indicar un número de versió. Ens permet realitzar practicamente el mateix que podem fer amb el client de docker, però de manera automàtica. A aquest exemple no fem servir ''networks''. | ||
| + | |||
| + | = En marxa = | ||
| + | jordi@asix2:~/Sites/wordpress$ '''docker compose up -d''' | ||
| + | Hi podeu accedir anant a http://localhost:8082 | ||
| + | |||
| + | Algunes ordres interessants: | ||
| + | * Aturada del servei: ''docker compose stop'' | ||
| + | * Esborrar serveis: ''docker compose down'' | ||
| + | * Esborrar serveis i volums: ''docker compose down -v'' | ||
| + | |||
| + | = Font = | ||
[https://aulasoftwarelibre.github.io/taller-de-docker/docker-compose/ Levantar un WordPress con Compose] | [https://aulasoftwarelibre.github.io/taller-de-docker/docker-compose/ Levantar un WordPress con Compose] | ||
Revisió de 13:10, 15 gen 2025
Contingut
Abans de començar
Amb les pràctiques que hem anant fent:
A Exemple de docker amb nginx, PHP i MariaDB hem fet servir el port 8080 per al PhpMyAdmin
A WordPress amb docker. Curs 2024-2025 hem fet servir el port 8081 per a no col·lisionar amb el port del PhpMyAdmin de l'exemple anterior.
A l'exemple actual farem servir el port 8082. Però si no ens cal l'exemple anterior podem esborrar els contenidors fets a l'exercici anterior. Es faria així:
docker container stop wordpress wordpress-db docker container rm wordpress wordpress-db docker volume rm wordpress-db
Docker Compose
Compose' és una eina per a definir i executar aplicacions multi-contenidor. Amb una sola ordre podrem crear i iniciar tots els serveis que necessitem per a la nostra aplicació.
Els casos d'ús més habituals per a docker compose són:
- Entorns de desenvolupament
- Entorns de testatge automàtics (integració contínua)
- Desplegament en host individuals (no clústers)
Compose té ordres per a manejar tot el cicle de vida de la nostra aplicació:
- Iniciar, detenir i refer serveis.
- Veure l'estat dels serveis.
- Visualitzar els logs.
- Executar una ordre a un servei.
Creació automatitzada de contenidors
Al mateix directori on estàvem al pas anterior (~/Sites/wordpress), crearem un fitxer anomenat docker-compose.yaml amb el següent contingut:
docker-compose.yaml
jordi@asix2:~/Sites/wordpress$ nano docker-compose.yaml
services:
db:
image: mariadb:10
volumes:
- data:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=secret
- MYSQL_DATABASE=wordpress
- MYSQL_USER=manager
- MYSQL_PASSWORD=secret
web:
image: wordpress:6
depends_on:
- db
volumes:
- ./target:/var/www/html
environment:
- WORDPRESS_DB_USER=manager
- WORDPRESS_DB_PASSWORD=secret
- WORDPRESS_DB_HOST=db
- WORDPRESS_DB_NAME=wordpress
ports:
- 8082:80
volumes:
data:
Els fitxers de Compose estan dividits en tres seccions: services, volumes i networks; i han d'indicar un número de versió. Ens permet realitzar practicamente el mateix que podem fer amb el client de docker, però de manera automàtica. A aquest exemple no fem servir networks.
En marxa
jordi@asix2:~/Sites/wordpress$ docker compose up -d
Hi podeu accedir anant a http://localhost:8082
Algunes ordres interessants:
- Aturada del servei: docker compose stop
- Esborrar serveis: docker compose down
- Esborrar serveis i volums: docker compose down -v