2 – Docker: il backend

Tutte le precedenti uscite sono qui: Archivio.

Iniziamo questo post con il dire che ho speso decisamente molto tempo non solo a “capire” come realizzare i vari step del tutorial ma sopratutto a “capire” come avrei dovuto organizzare il tutto.

Dopo miriadi di ripensamenti, dietro front, decisioni di passare a mestieri differenti,  suppongo di aver fatto ordine e pertanto eccomi qua a proporvi un primo progress.

La decisione è la seguente:
avrò 2 dockers, uno per la macchina front-end ed uno per la macchina back-end, da cui inizieremo.

Per semplificarmi la vita ho installato Docker Compose, per sapere come fare potete andare alla guida di installazione ufficiale e fare copia incolla dei comandi.

Il servizio Docker Compose interpreta il file “compose.yml” locale ed in base a quello va a montare tutti i pezzi necessari. Chiaramente il file che sto per mostrarvi va a realizzare le mie necessità specifiche, ovvero un back-end WordPress.

Vediamo “al volo” il file compose relativo:

version: "2"

services:

################################

# DB container

################################

database:

  image: mariadb

  ports:

     "8081:3306"

  environment:

     MYSQL_ROOT_PASSWORD: ChangeMeIfYouWant

################################

# WP container

################################

my-wp:

   image: wordpress

   volumes:

      ./:/var/www/html

   ports:

      "8080:80"

   links:

      database:mysql

   environment:

      WORDPRESS_DB_PASSWORD: ChangeMeIfYouWant

Il tutto è (per ora) semplice. Vi faccio solo notare le righe:

volumes: indica al container dove dovrà piazzare i files nel nostro filesystem locale, quindi dove noi potremo gestire i files di temi e plugin;

links: indica al container WP di comunicare con il container DATABASE.

Image: è l’immagine che viene usata per generare il container, ogni immegine ha delle sue variabili di impostazione, opzionali o necessarie. Nel caso di WP potete verificarle a questo link, oppure visitare l’hub con tutte le immagini già pronte all’uso.

A questo punto dobbiamo solo dare il via alle danze. Andiamo nella cartella in cui abbiamo creato il nostro compose.yml (da terminale) e digitiamo:
docker-compose up -d
A questo punto il docker dovrebbe venir montato e dovrebbe essere disponibile all’indirizzo: http://localhost:8080/

Per verificare che tutto stia funzionando potete lanciare il comando
docker-compose logs -f
Per verificare in tempo reale l’output dei container,
docker-compose stop
Per fermare tutto.

Se vi dovessero capitare problematiche con i permessi e con la creazione del DB, WordPress potrebbe chiedervi di aggiungere la stringa di riparazione al wp-config.php; per farlo avrete necessità di modificare i permessi dei files creati dal container. Su linux potete farlo con il comando seguente:
sudo chown -R proprietario:gruppo .
al posto di proprietario va il vostro utente, al posto di gruppo il vostro gruppo utenza, il punto finale indica “la directory corrente”, se necessario sostituitelo con la path dei files da modificare

Tutte le precedenti uscite sono qui: Archivio.