Come eseguire WordPress con Docker su Ubuntu
Jun 22, 2026
/
Michela Z.
/
7 min di lettura
Installare WordPress su un server privato virtuale (VPS) Ubuntu richiede comunemente LAMP (Linux, Apache, MySQL, PHP). Tuttavia, puoi anche configurare la piattaforma usando Docker, uno strumento di containerizzazione che impacchetta le applicazioni insieme alle loro dipendenze.
Utilizzando Docker, l’installazione di WordPress diventa più semplice, perché viene eseguita a partire da immagini preconfigurate che contengono tutti i componenti necessari. Questo approccio offre diversi vantaggi: è modulare, facile da aggiornare e scalare, e consente di ridistribuire rapidamente l’applicazione se hai bisogno di una nuova istanza.
In questo articolo ti spieghiamo come eseguire WordPress con Docker su Ubuntu. Imparerai ogni passaggio, dalla preparazione dei prerequisiti alla gestione di WordPress come sistema di gestione dei contenuti (CMS) in container.
Prerequisiti per installare WordPress con Docker
Prima di installare WordPress su Docker, assicurati di avere un VPS con una versione recente di Ubuntu, come la 22.04 o successiva, per evitare problemi di compatibilità.
Il tuo server dovrebbe anche offrire il pieno accesso root per evitare errori di autorizzazione quando modifichi i file di sistema. Inoltre, punta un nome di dominio verso il tuo VPS così il tuo sito WordPress sarà accessibile al pubblico.
Se non hai un VPS, ti consigliamo di scegliere un piano VPS Docker di Hostinger. Dato che Docker e WordPress sono relativamente leggeri, il nostro piano KVM 1 – con CPU a singolo core, 4 GB di RAM e 50 GB di spazio di archiviazione – dovrebbe essere sufficiente. Puoi passare a un piano di livello superiore se hai bisogno di più risorse man mano che il tuo sito cresce.
Con Hostinger puoi connetterti al tuo VPS come root direttamente dal browser, rendendo il processo di installazione più efficiente.
Se incontri difficoltà durante la configurazione, il nostro assistente AI Kodee è a tua disposizione per guidarti nella gestione della tua istanza WordPress. Ti basta scrivere le tue domande o descrivere le tue esigenze, e Kodee creerà per te una guida passo per passo.

Come eseguire WordPress con Docker Compose
Segui questi passaggi per installare WordPress utilizzando Docker. Prima di procedere, accedi alla CLI (interfaccia a riga di comando) del tuo VPS usando il client SSH PuTTY o il terminale. In alternativa, usa il terminale del browser di Hostinger se hai bisogno di una soluzione più semplice.
1. Installa Docker e Docker Compose
Gli utenti di Hostinger possono installare Docker e Docker Compose in pochi click, senza usare comandi, grazie al template VPS preconfigurato. Questo metodo è più semplice e è adatto ai principianti.
Attenzione! Installare un nuovo template VPS cancellerà tutti i tuoi dati. Esegui il backup dei file importanti prima di procedere.
Per farlo, apri semplicemente la pagina di gestione del tuo VPS su hPanel e vai su SO & Panello → Sistema operativo. Seleziona Docker e fai click su Cambia SO.

Se vuoi avere maggiore flessibilità quando configuri lo strumento, installa Docker e Docker Compose usando i comandi.
Ora verifica se Docker e Docker Compose sono configurati correttamente usando i seguenti comandi:
docker --version docker-compose --version
Se questi strumenti funzionano correttamente, la tua CLI mostrerà il loro numero di versione:

2. Configura la directory del tuo progetto
Crea una nuova directory di progetto per contenere tutti i tuoi file Docker e WordPress usando questo comando:
mkdir wordpress
Per impostazione predefinita, il comando creerà la cartella wordpress nella home directory dell’utente attualmente connesso. Puoi crearla in un’altra posizione o usare un nome diverso.
Poi apri la cartella usando il comando seguente:
cd wordpress
Una volta dentro, puoi iniziare a configurare Docker e WordPress.
3. Crea un file Docker Compose
Il file Docker Compose fornisce informazioni sui componenti software da installare nel tuo container. In questo caso, specifica la configurazione per WordPress e per l’applicazione del database.
Per creare un file Docker Compose, esegui il seguente comando:
sudo nano docker-compose.yml
Incolla la configurazione seguente. Sostituisci il nome utente, la password e il nome del database con i valori che preferisci.
version: "3"
services:
db:
image: mysql:latest
restart: always
environment:
MYSQL_ROOT_PASSWORD: MySQLRootPassword
MYSQL_DATABASE: MySQLDatabaseName
MYSQL_USER: MySQLUsername
MYSQL_PASSWORD: MySQLUserPassword
wordpress:
depends_on:
- db
image: wordpress:latest
restart: always
ports:
- "80:80"
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: MySQLUsername
WORDPRESS_DB_PASSWORD: MySQLUserPassword
WORDPRESS_DB_NAME: MySQLDatabaseName
volumes:
- "./:/var/www/html"
phpmyadmin:
image: phpmyadmin/phpmyadmin
restart: always
ports:
- "8080:80"
environment:
PMA_HOST: db
PMA_USER: MySQLUsername
PMA_PASSWORD: MySQLUserPassword
volumes:
mysql: {}Salva le modifiche e torna alla shell principale premendo Ctrl + X → Y → Invio.
4. Avvia il container Docker
Esegui Docker Compose con questo comando per installare e avviare WordPress in un container. Ricorda che funziona solo quando ti trovi all’interno della directory del progetto:
docker-compose up -d
Docker Compose scaricherà le immagini da Docker Hub come specificato nel tuo file YAML, configurerà il container e imposterà la connessione di rete. A seconda della velocità della tua connessione internet, questo processo di configurazione potrebbe richiedere alcuni minuti.

Una volta terminato, dovresti vedere lo stato Done e tornare alla shell principale.
5. Accedi all’installazione di WordPress
Con il tuo container Docker attivo e funzionante, ora puoi accedere alla nuova installazione di WordPress tramite il tuo browser web. Dato che il tuo nome di dominio punta già al VPS, inseriscilo semplicemente nella barra degli indirizzi del browser.
Questo ti porterà alla procedura guidata di configurazione di WordPress. Scegli la tua lingua preferita e fai click su Continua.

Poi compila le informazioni necessarie sul tuo sito, includendo il titolo del sito, il nome utente, la password e l’indirizzo email. Una volta completato, fai click su Installa WordPress.

Successivamente, fai click su Accedi per accedere alla dashboard di WordPress. Usa le credenziali che hai appena creato per accedere al tuo pannello di amministrazione.

6. Personalizza la tua configurazione Docker
Per gli ambienti di produzione, avrai bisogno di configurazioni aggiuntive affinché il tuo sito WordPress sia sicuro e ottimizzato in termini di prestazioni. Di seguito trovi le principali personalizzazioni per distribuire WordPress usando Docker:
Uso dei file di ambiente
Per proteggere i dati sensibili, evita di inserire in modo statico le credenziali, come i nomi utente e le password del database, nel tuo file Docker Compose. Al contrario, memorizza questi valori in un file di ambiente (.env).
Nella tua directory di WordPress, crea un file .env:
nano .env
Definisci le credenziali del database di WordPress nel file .env, sostituendo i placeholder con i tuoi valori.
MYSQL_ROOT_PASSWORD=MySQLRootPassword MYSQL_DATABASE=MySQLDatabaseName MYSQL_USER=MySQLUsername MYSQL_PASSWORD=MySQLUserPassword
Salva il file, poi aggiorna il file docker-compose.yml per usare queste variabili di ambiente:
db:
image: mysql:latest
restart: always
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_DATABASE: ${MYSQL_DATABASE}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}Salva le modifiche e riavvia Docker Compose per applicare le nuove configurazioni:
docker-compose up -d
Ottenere certificati SSL
Un certificato SSL è importante per proteggere i dati degli utenti e migliorare il posizionamento nei motori di ricerca. Per abilitare i certificati SSL automatici, aggiungi un proxy NGINX con Let’s Encrypt nel tuo file docker-compose.yml:
services:
nginx-proxy:
image: jwilder/nginx-proxy
container_name: nginx-proxy
ports:
- "80:80"
- "443:443"
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
letsencrypt-nginx-proxy-companion:
image: jrcs/letsencrypt-nginx-proxy-companion
container_name: letsencrypt
environment:
NGINX_PROXY_CONTAINER: nginx-proxy
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./certs:/etc/nginx/certs
- ./vhost.d:/etc/nginx/vhost.d
- ./html:/usr/share/nginx/htmlSuccessivamente, rimuovi il mapping della porta dal servizio wordpress per evitare conflitti con nginx-proxy. Inoltre, includi le etichette SSL sostituendo your_email e your_domain.com con le tue credenziali effettive:
wordpress:
image: wordpress:latest
labels:
- "VIRTUAL_HOST=your_domain.com"
- "LETSENCRYPT_HOST=your_domain.com"
- "LETSENCRYPT_EMAIL=your_email@your_domain.com"Allo stesso servizio WordPress, esegui solo la directory wp-content in modo che solo i file necessari siano condivisi tra l’host e il container:
volumes: - ./wp-content:/var/www/html/wp-content
Ecco il contenuto finale del file docker-compose.yml dopo aver usato le variabili di ambiente e aggiunto il supporto SSL con NGINX:
version: "3"
services:
db:
image: mysql:latest
restart: always
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_DATABASE: ${MYSQL_DATABASE}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
volumes:
- mysql:/var/lib/mysql
wordpress:
depends_on:
- db
image: wordpress:latest
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: ${MYSQL_USER}
WORDPRESS_DB_PASSWORD: ${MYSQL_PASSWORD}
WORDPRESS_DB_NAME: ${MYSQL_DATABASE}
volumes:
- ./wp-content:/var/www/html/wp-content
labels:
- "VIRTUAL_HOST=your_domain.com"
- "LETSENCRYPT_HOST=your_domain.com"
- "LETSENCRYPT_EMAIL=your_email@your_domain.com"
phpmyadmin:
image: phpmyadmin/phpmyadmin
restart: always
ports:
- "8080:80"
environment:
PMA_HOST: db
PMA_USER: ${MYSQL_USER}
PMA_PASSWORD: ${MYSQL_PASSWORD}
nginx-proxy:
image: jwilder/nginx-proxy
container_name: nginx-proxy
ports:
- "80:80"
- "443:443"
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
- ./certs:/etc/nginx/certs
- ./vhost.d:/etc/nginx/vhost.d
- ./html:/usr/share/nginx/html
letsencrypt-nginx-proxy-companion:
image: jrcs/letsencrypt-nginx-proxy-companion
container_name: letsencrypt
environment:
NGINX_PROXY_CONTAINER: nginx-proxy
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./certs:/etc/nginx/certs
- ./vhost.d:/etc/nginx/vhost.d
- ./html:/usr/share/nginx/html
volumes:
mysql: {}Non dimenticare di salvare queste modifiche e riavviare Docker Compose subito dopo.
docker-compose up -d
7. Gestisci e scala WordPress con Docker
Dopo aver eseguito WordPress su Docker per un certo periodo, scala la tua configurazione per ottimizzarne le prestazioni ed esegui regolarmente il backup dei tuoi file per mantenere l’integrità dei dati. Ecco come fare:
Scalare i container WordPress
Man mano che il traffico del tuo sito cresce, valuta di scalare il tuo servizio WordPress per eseguirlo su più container. Ti permette di distribuire in modo uniforme le richieste degli utenti tra i diversi container, garantendo prestazioni ottimali e la massima disponibilità.
Nel tuo file Docker Compose, specifica il numero desiderato di repliche, ad esempio 3, per aggiungere altre istanze del tuo container WordPress:
wordpress:
depends_on:
- db
image: wordpress:latest
restart: always
ports:
- "80:80"
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: ${MYSQL_USER}
WORDPRESS_DB_PASSWORD: ${MYSQL_PASSWORD}
WORDPRESS_DB_NAME: ${MYSQL_DATABASE}
volumes:
- "./:/var/www/html"
deploy:
replicas: 3Applica le modifiche eseguendo:
docker-compose up -d --scale wordpress=3
Docker avvierà ora container WordPress aggiuntivi e distribuirà il traffico in modo uniforme tra di essi.
Backup dei file di WordPress
Per proteggere il tuo sito WordPress dalla perdita o dal danneggiamento dei dati, dovresti eseguire il backup sia dei file di WordPress che del database.
Poiché Docker monta la directory di WordPress come volume, puoi eseguire il backup di questa directory usando un semplice comando come questo:
cp -r /path/to/wordpress /path/to/backup/location
Per eseguire il backup del tuo database MySQL, esegui il comando seguente. Sostituisci [db_container_name], [MYSQL_USER], [MYSQL_PASSWORD] e [MYSQL_DATABASE] con il nome effettivo del tuo container del database e con le tue credenziali:
docker exec [db_container_name] /usr/bin/mysqldump -u [MYSQL_USER] -p[MYSQL_PASSWORD] [MYSQL_DATABASE] > backup.sql
Questo comando crea un dump del database, che potrai ripristinare in un secondo momento se necessario.
In alternativa, i clienti VPS di Hostinger possono usare i nostri strumenti di backup integrati per eseguire facilmente il backup e il ripristino dei dati. Per accedere a queste funzionalità, vai su Backup & monitoraggio → Snapshot & backup nella barra laterale sinistra della dashboard del tuo VPS.
Quindi scegli se creare uno snapshot per salvare la configurazione attuale oppure ripristinare i dati precedenti da un backup automatico settimanale.

Gestisci i backup con Kodee
Puoi elencare i backup disponibili e gestire la pianificazione dei backup semplicemente chiedendo a Kodee. Per esempio, chiedi: "Elenca i backup disponibili sul mio VPS hostname.com."
Conclusioni
In questo articolo hai imparato come installare e configurare WordPress usando Docker su un VPS Ubuntu. Dalla configurazione di Docker Compose alla personalizzazione per gli ambienti di produzione, ora hai un’installazione di WordPress completamente funzionale in un ambiente containerizzato.
Dopo aver eseguito WordPress utilizzando Docker, valuta di ottimizzare ulteriormente il tuo sito, ad esempio usando una content delivery network (CDN). Puoi anche configurare diversi container Docker se decidi di ospitare altre applicazioni sullo stesso VPS.
Se hai domande o vuoi condividere la tua esperienza nello sviluppo di siti WordPress con Docker, sentiti libero di usare il box dei commenti qui sotto.
FAQ su WordPress Docker
Quali sono i vantaggi di usare Docker per WordPress?
Con Docker puoi distribuire e scalare il tuo ambiente WordPress in base alle tue esigenze. Docker isola le dipendenze, rendendo più semplice aggiornare, eseguire il backup e migrare il tuo sito WordPress in modo efficiente.
Posso eseguire più siti WordPress su un singolo server con Docker?
Sì, Docker ti permette di eseguire più siti WordPress su un unico server utilizzando container separati per ciascun sito. Configura ogni container con porte, volumi e connessioni al database univoci per garantire l’isolamento.
Come configuro un container Docker con WordPress?
Per configurare un container Docker con WordPress, usa un file Docker Compose per definire servizi, porte e variabili d’ambiente. Per i dati sensibili, come le credenziali del database, ti consigliamo di conservarli in un file .env collegato al file Compose.
Tutti i contenuti dei tutorial presenti su questo sito web sono soggetti ai rigorosi standard editoriali e ai valori di Hostinger.
Comments
0 responses