Negli ultimi mesi ho smanettato parecchio con un programma che non conoscevo, ossia Docker. Fino ad oggi ho sempre sviluppato applicazioni in locale utilizzando i classici “pacchetti” come LAMP o WAMP, anche perché non avevo particolari necessità. Ma ora che mi trovo a lavorare su un progetto molto complesso ed articolato ecco che servono particolari funzioni che i software più basici non offrono.
Senza farla troppo lunga, una cosa che ho notato è che le spiegazioni e le documentazioni per usare questo programma sono molto verbose e spesso poco intuitive. In rete si trovano moltissimi articoli che dovrebbero spiegarci come usarlo con semplicità, ma in realtà non fanno altro che complicarci le idee. Aggiriamo dunque l’ostacolo.
Quello che mi interessava, ovviamente, era creare un container contenente WordPress, MySQL e PhpMyAdmin. Se eseguite un pull delle tre distinte immagini non ne otterrete nulla, perché Docker Desktop vi fa avviare un container per ogni immagine che lanciate. Come fare? Ho risolto creandomi questo codide standard:
services:
wordpress:
depends_on:
- db
image: wordpress
restart: always
# volumes: ['./:/var/www/html']
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: nomeutente-wp
WORDPRESS_DB_PASSWORD: passutente-wp
WORDPRESS_DB_NAME: dbprova
ports:
- 8000:80
## install mysql driver
# command: ["docker-php-ext-install", "mysqli pdo pdo_mysql"]
networks:
- wpsite
db:
image: mysql
restart: always
volumes:
- ~/path_to/database:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: rootpass
MYSQL_DATABASE: dbprova
MYSQL_USER: nomeutente-db
MYSQL_PASSWORD: passutente-db
networks:
- wpsite
phpmyadmin:
depends_on:
- db
image: phpmyadmin
restart: always
ports:
- 8080:80
environment:
PMA_HOST: db
MYSQL_ROOT_PASSWORD: rootpass
networks:
- wpsite
networks:
wpsite:
volumes:
database:
Copiate il tutto anche nel blocco note, dopodiché salvate con nome e create un file chiamato docker-compose.yml. A questo punto, copiate il file in una cartella nominata come il vostro progetto, perché il container che si creerà nel programma avrà il nome della cartella.
A questo punto, avviate il prompt dei comandi e, dopo esservi spostati nella cartella contenente il file, lanciate il comando docker-compose up. A questo punto partirà il download delle varie immagini (se non sono già state scaricate) e la creazione del container con tutti i servizi integrati.
Potete utilizzare questo file ogni qualvolta vorrete, e potrete impostare le vostre variabili (nome del database, username e password) semplicemente modificando i campi evidenziati in rosso. In questo modo sarete in grado di creare un ambiente di test/sviluppo nel giro di pochi minuti, con tutti i vantaggi offerti dal programma.
Lascia un commento Annulla risposta