WordPress su Docker in meno di 1 minuto

Giacomo Corallini
3 min readOct 30, 2020

Ho iniziato a sviluppare siti web con WordPress nel 2015, e come tutti sappiamo, l’informatica corre veloce e noi addetti ai lavori dobbiamo stare al passo!

Uno degli aspetti a cui sono sempre stato interessato è avere un ambiente di sviluppo flessibile e prestante. Per questo motivo nella mia esperienza come sviluppatore ho provato diversi tool come Local By FlyWheel, MAMP Pro, XAMPP, solo per citarne alcuni.

Poi un bel giorno ho scoperto Docker e ho iniziato ad approfondire, eccolo qui spiegato brevemente:

Docker è un progetto open-source che automatizza il deployment (consegna o rilascio al cliente, con relativa installazione e messa in funzione o esercizio, di un’applicazione o di un sistema software tipicamente all’interno di un sistema informatico aziendale) di applicazioni all’interno di contenitori software, fornendo un’astrazione aggiuntiva grazie alla virtualizzazione a livello di sistema operativo Linux. Docker utilizza le funzionalità di isolamento delle risorse del kernel Linux come ad esempio cgroup e namespace per consentire a “container” indipendenti di coesistere sulla stessa istanza di Linux, evitando l’installazione e la manutenzione di una macchina virtuale.

Fonte Wikipedia

Installazione

Se non hai ancora Docker installato nella tua macchina dovresti farlo! 😎
Inizia da qui scaricando il file di installazione in base al sistema operativo in uso (nel mio caso, MacOS) e segui la procedura.

Docker Compose

In questa breve guida userò Docker Compose. Compose è uno strumento per la definizione e l’esecuzione di applicazioni Docker multi-container. Con Docker Compose possiamo utilizzare un file YAML per configurare i servizi della nostra applicazione. Quindi, con un solo comando, creiamo e avviamo tutti i servizi del nostro ambiente di sviluppo.

Struttura del progetto

Link di riferimento al repo GitHub: https://github.com/jackcoral89/docker-wp-config

docker-wp-config/
├── data/
│ └── backup_db.sql
├── docker/
│ └── Dockerfile
├── public/
│ └── wp-admin/
│ └── wp-content/
│ └── wp-includes/
├── scripts/
│ └── dump.sh
├── .gitignore
├── docker-compose.yaml
└── README.md

Di seguito il file docker-compose.yaml posizionato nella cartella root del progetto:

Per gestire le dipendenze e i servizi del container ho usato un Dockerfile dentro la cartella docker/ (in questo caso ho aggiunto solamente l’immagine docker di WordPress ma potete aggiungere tutte le funzionalità di cui avete bisogno a seconda del caso d’uso):

Avvio ambiente 🚀

A questo punto siamo pronti per avviare il nostro ambiente di sviluppo! E possiamo farlo aprendo il nostro terminale preferito (io di solito uso quello integrato di Visual Studio Code (💙)) e lanciare il seguente comando dalla root del progetto:

$ docker-compose up -d

Al primo avvio scaricherà tutte le immagini definite nel nostro file docker-compose.yaml e avvierà il container . Con l’opzione -d stiamo semplicemente dicendo a Docker di lasciare il container attivo in background.

Nella cartella public/ troveremo i file della nostra installazione WordPress, questo perché abbiamo specificato, nel file YAML, dove copiare i file dall’immagine wp al nostro progetto:

volumes:
- ./public:/var/www/html

Adesso apriamo un browser web e scriviamo il seguente url localhost:7500. Se abbiamo effettuato correttamente la procedura dovremo vedere il setup di WordPress:

http://localhost:7500

Conclusioni

Il primo setup può sembrare macchinoso, in realtà una volta che abbiamo capito il funzionamento, le potenzialità e la flessibilità di Docker Compose ci basterà copiare il file docker-compose.yaml in un nuovo progetto e in meno di 1 minuto avremo un nuovo ambiente pulito e veloce su cui lavorare.

🍻🍾🎉

--

--