Ci sono diversi modi per eseguire WordPress su Docker. Per prima cosa, è possibile istallare le immagini necessarie utilizzando la linea di comando. Si tratterà delle immagini ufficiali di MySQL e di WordPress. La documentazione e ogni utile informazione su queste immagini sono disponibili nella repository di Docker.
Il download delle immagini dalla repository può essere disposto attraverso diversi comandi. Ad esempio, si può semplicemente digitare il comando
docker pull mysql
Con questo comando viene prelevata l'ultima versione stabile dell'immagine. In alternativa, come si vedrà a breve, si può eseguire direttamente il comando docker run
: prima di avviare l'esecuzione, Docker verificherà la presenza dell'immagine richiesta e, nel caso questa dovesse mancare, eseguirà l'esecuzione del comando solo a istallazione avvenuta.
Prima di eseguire il comando che crea il container del database, è opportuno elencare le variabili d'ambiente che ne permettono la configurazione:
Variabile | Descrizione |
---|---|
MYSQL_ROOT_PASSWORD |
Imposta la password dell'utente root . Questo dato è richiesto. |
MYSQL_DATABASE |
Imposta il nome del database da creare all'avvio dell'immagine; se nel comando viene impostato un nuovo utente, a questo vengono riconosciuti privilegi da superamministratore. Facoltativo. |
MYSQL_USER |
Nome utente di un nuovo account. Facoltativo. Si noti che non è necessario l'utilizzo di questa variabile per la creazione dell'utente root , che viene creato di default all'avvio del container. |
MYSQL_PASSWORD |
Password dell'utente specificato. Richiesto solo se creato un nuovo utente. |
MYSQL_ALLOW_EMPTY_PASSWORD , MYSQL_RANDOM_ROOT_PASSWORD , MYSQL_ONETIME_PASSWORD |
Sono variabili facoltative che permettono di impostare la password dell'utente root . |
Nella linea di comando si esegua, quindi, la seguente istruzione:
docker run --name wordpressdb -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=wordpress -e MYSQL_USER=user -e MYSQL_PASSWORD=password -d mysql:5.7
Argomento | Descrizione |
---|---|
docker run |
Comando che avvia l'esecuzione dell'immagine. |
--name wordpressdb |
Assegna il nome al nuovo container. |
-e MYSQL_ROOT_PASSWORD=root |
Imposta il valore della variabile d'ambiente. |
-d |
Esegue il container in background e stampa a video l'ID. |
mysql:5.7 |
Il nome dell'immagine seguito dal tag che ne individua la versione. |
A questo punto si possono utilizzare i comandi di Docker per effettuare operazione sul container attivo:
docker ps
Questo comando fornisce una serie di dati per tutti i container attivi. Per il container appena creato saranno forniti i seguenti dati:
- CONTAINER ID: 7d0f58ab4ec7
- IMAGE: mysql:5.7
- COMMAND: "docker-entrypoint..."
- CREATED: 25 minutes ago
- STATUS: Up 15 minutes
- PORTS: 3306/tcp
- NAMES: wordpressdb
Docker non consente di creare più istanze dello stesso container. In fase di studio potrebbe quindi essere opportuno interrompere l'esecuzione dell'immagine e poi riavviarla con i comandi che seguono:
docker stop [container]
docker rm [container]
Questi due comandi fermano e rimuovono il container individuato dall'ID o dal nome e possono essere sostituiti dall'unico comando:
docker rm -f [container]
A questo punto si può verificare la connessione a MySQL:
docker exec -it wordpressdb mysql -uroot -p
A questo comando Docker risponderà con un messaggio di benvenuto.
Ora che si ha a disposizione l'immagine di MySQL, si può procedere con il lavoro e istallare l'immagine di WordPress:
docker run wordpress