Installare WordPress con Docker Compose

29 novembre 2017

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

Tutte le lezioni

1 ... 47 48 49 ... 88

Se vuoi aggiornamenti su Installare WordPress con Docker Compose inserisci la tua e-mail nel box qui sotto:
Tags: ,
 
X
Se vuoi aggiornamenti su Installare WordPress con Docker Compose

inserisci la tua e-mail nel box qui sotto:

Ho letto e acconsento l'informativa sulla privacy

Acconsento al trattamento di cui al punto 3 dell'informativa sulla privacy