Installazione di WordPress tramite Docker su Ubuntu 18.04
In questo tutorial andremo ad installare il famoso CMS WordPress tramite Docker su Ubuntu 18.04.
Consideriamo di avere una macchina Ubuntu 18.04 preinstallata (per l’installazione seguire questo articolo) ed aggiorniamola
sudo apt-get update
sudo apt-get upgrade
installiamo dei pacchetti utili per l’installazione del motore docker
sudo apt install apt-transport-https ca-certificates curl software-properties-common
scarichiamo la chiave GPG
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
aggiungiamo il repository ufficiale di Docker
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
sudo apt-get update
installiamo docker community edition
sudo apt install docker-ce
sudo systemctl enable docker
L’installazione di Docker è terminata, adesso creiamo l’ ambiente per utilizzare WordPress attraverso Docker e scarichiamo dal repository l’ultima versione del database MariaDB
sudo docker pull mariadb
creiamo le cartelle per ospitare il database e wordpress su macchina host
cd /var/www/
sudo mkdir -p wordpress/database
sudo mkdir -p wordpress/html
sudo docker run -e MYSQL_ROOT_PASSWORD=test -e MYSQL_USER=test -e MYSQL_PASSWORD=test -e MYSQL_DATABASE=wordpress -v /var/www/wordpress/database:/var/lib/mysql --name wordpressdb -d mariadb
per la corretta creazione avremo come risultato una stringa di questo genere
558cef26088e276bf10c9a13108a2b08f9d86f3d8c26f923b95151e2fedc8bc4
per visualizzare i contenitori attivi utilizzare il seguente comando
docker container ls
avremo
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
558cef26088e mariadb “docker-entrypoint.s…” 13 seconds ago Up 10 seconds 3306/tcp wordpressdb
adesso installiamo WordPress
docker run -e WORDPRESS_DB_USER=test -e WORDPRESS_DB_PASSWORD=test -e WORDPRESS_DB_NAME=wordpress -p 5000:80 -v /var/www/wordpress/html:/var/www/html --link wordpressdb:mysql --name cms_wp -d wordpress
docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
68152b2dcd32 wordpress “docker-entrypoint.s…” 7 minutes ago Up 7 minutes 0.0.0.0:5000->80/tcp cms_wp
558cef26088e mariadb “docker-entrypoint.s…” 13 minutes ago Up 13 minutes 3306/tcp wordpressdb
in questo ultimo caso possiamo notare che è stata creata una mappatura tra l’host ed il contenitore, in particolare è possibile accedere direttamente al contenitore tramite il seguente url http://ip_server:5000 ed avremo
mentre con l’opzione –link, abbiamo collegato il container wordpressdb (MariaDB) al contenitore WordPress.