Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial
  • Lezione 48 di 102
  • livello intermedio
Indice lezioni

Installare WordPress con Docker Compose

Installare ed eseguire WordPress attraverso Docker Compose che permette di eseguire applicazioni Docker multi-container tramite la creazione di file YAML.
Installare ed eseguire WordPress attraverso Docker Compose che permette di eseguire applicazioni Docker multi-container tramite la creazione di file YAML.
Link copiato negli appunti

Dopo aver compreso come configurare ed eseguire le immagini da linea di comando, è il momento di scoprire quali sono gli strumenti di Docker che consentono di automatizzare la maggior parte dei task eseguiti nei capitoli precedenti da Terminale. In questo capitolo si vedrà come installare WordPress attraverso Docker Compose.

Docker Compose

Compose viene definito come uno strumento per la definizione e l'esecuzione di applicazioni Docker multi-container attraverso la creazione di file YAML. Una volta creato il file docker-compose.yml, sarà possibile creare ed avviare tutti i servizi definiti nel file con un solo comando. Si tratta, in pratica, di un processo suddiviso in tre fasi:

  1. configurazione dell'ambiente dell'applicazione con o senza Dockerfile;
  2. definizione dei servizi necessari all'interno del file docker-compose.yml;
  3. esecuzione del comando docker-compose up che avvierà l'esecuzione dell'applicazione.

Compose e WordPress

Si crei una nuova directory per il progetto corrente, essa fornirà il contesto per l'esecuzione dell'immagine. All'interno della directory si inserisca un file di testo denominato docker-compose.yml (o .yaml).Si avvii quindi il demone di Docker da Terminale e si navighi fino alla directory appena creata. Si apra il file docker-compose.yml e si definisca la versione del formato del file di Compose:

version: '3'

Il passo successivo è la definizione del servizio che fornisce il database:

services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress

La keyword services individua i servizi che saranno utilizzati dall'applicazione. Il primo di questi viene definito db e utilizza l'immagine mysql:5.7. Dato che WordPress supporta anche MariaDB, si sarebbe potuto utilizzare senza difficoltà quest'ultima immagine al posto di MySQL.

La keyword volumes definisce i volumi in cui vengono eseguiti i container che permetteranno la memorizzazione dei dati. Nel caso in cui non vengano definiti i volumi, Docker provvederà alla creazione di volumi anonimi, i quali, tuttavia, non saranno persistenti. La keyword restart permette di riavviare i container in caso di stop o crash (con restart è automatico). Infine, la keyword environment permette la definizione delle variabili d'ambiente.

Definito il database, si può procedere alla configurazione di WordPress. Sempre all'interno del gruppo di servizi si aggiungano le seguenti istruzioni:

wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8080:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress

In aggiunta alle keyword utilizzate per la configurazione di MySQL sono state utilizzate le keyword depends_on, che individua il container da cui dipende WordPress, e ports, che espone le porte dell'host e del container, come in questo esempio, o solo del container. In questo secondo caso all'host viene assegnata una porta casuale. Infine, il volume db_data memorizza in modo persistente i dati acquisiti da WordPress nel database:

volumes:
db_data:

Ora si apra il terminale dei comandi e si digiti:

docker-compose up

Docker avvia l'esecuzione dell'immagine e ne dà opportuna informazione mandando a video le operazioni effettuate. Concluse le operazioni di avvio si potrà digitare nella barra degli indirizzi del browser l'indirizzo IP della Docker Machine con relativa porta:

Figura 1. WordPress in esecuzione.
WordPress in esecuzione

Per interrompere l'esecuzione di Compose si ricorre al comando di Gracefully Stopping, eseguito digitando cmd + c. Docker risponderà come segue:

^CGracefully stopping... (press Ctrl+C again to force)
Stopping compose_wordpress_1 ... done
Stopping compose_db_1 ... done

Ti consigliamo anche