Per usare Docker e docker-compose devi averli installati sulla tua macchina. Se non li hai ancora, puoi seguire le istruzioni sul sito di Docker per installarli.
Scarica l'immagine Docker di MariaDB
Per prima cosa, dobbiamo scaricare l'immagine di MariaDB da Docker Hub. Questa immagine contiene tutto il necessario per eseguire MariaDB.
docker pull mariadb:latest
Questo comando scaricherà l'ultima versione dell'immagine di MariaDB. Se serve, puoi specificare una versione particolare:
docker pull mariadb:10.5
Crea una rete Docker (facoltativo)
Creare una rete personalizzata migliora la comunicazione tra i container. Questo passaggio è facoltativo, ma consigliato per configurazioni più complesse con più container.
docker network create mariadb_network
Avvia un container MariaDB
Ora avviamo un container MariaDB usando l'immagine appena scaricata. Mapperemo una porta locale sulla porta del container e imposteremo alcune variabili d'ambiente per la password di root e il nome del database.
docker run --name mariadb-container -d \
--network mariadb_network \
-e MYSQL_ROOT_PASSWORD=my-secret-pw \
-e MYSQL_DATABASE=mydatabase \
-p 3306:3306 \
mariadb:latest
- –name mariadb-container: assegna un nome al container per richiamarlo più facilmente.
- -d: esegue il container in modalità detached.
- –network mariadb_network: collega il container alla rete personalizzata.
- -e MYSQL_ROOT_PASSWORD=my-secret-pw: imposta la password di root per MariaDB.
- -e MYSQL_DATABASE=mydatabase: crea un database chiamato mydatabase.
- -p 3306:3306: mappa la porta 3306 dell'host sulla porta 3306 del container.
Verifica che il container MariaDB sia in esecuzione
Usa il seguente comando per controllare se il container MariaDB è in esecuzione:
docker ps
Output previsto:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
abc123def456 mariadb:latest "docker-entrypoint.s…" 5 seconds ago Up 5 seconds 0.0.0.0:3306->3306/tcp mariadb-container
Connettersi al container MariaDB
Ora che il container MariaDB è in esecuzione, puoi connetterti usando un client MySQL. Se hai il client MySQL installato in locale, puoi connetterti con:
mysql -h 127.0.0.1 -P 3306 -u root -p
Dopo aver inserito la password di root (my-secret-pw), dovresti essere connesso alla tua istanza MariaDB.
Usare Docker Compose
Docker Compose permette di gestire configurazioni con più container tramite un semplice file di configurazione. Ecco come configurare MariaDB con Docker Compose:
Crea un file docker-compose.yml
Crea un file docker-compose.yml nella directory principale del tuo progetto. Questo file definirà i container che vuoi eseguire nel tuo ambiente di sviluppo.
version: '3.1'
services:
mariadb:
image: mariadb:latest
container_name: mariadb-compose
environment:
MYSQL_ROOT_PASSWORD: my-secret-pw
MYSQL_DATABASE: mydatabase
ports:
- "3306:3306"
networks:
- mariadb_network
networks:
mariadb_network:
driver: bridge
In questo esempio usiamo l'immagine mariadb:latest e impostiamo diverse variabili d'ambiente per configurare il database. Esponiamo anche la porta predefinita di MariaDB (3306) così da poterci connettere al database dalla nostra applicazione.
Esegui Docker Compose per avviare il container:
docker-compose up -d
Output previsto:
Creating network "projectname_mariadb_network" with driver "bridge"
Creating mariadb-compose ... done
Questo comando scaricherà le immagini necessarie e avvierà i container in background. Eseguilo senza -d per avviare il container in primo piano. Puoi usare il seguente comando per vedere lo stato dei container:
docker-compose ps
Connettersi a MariaDB con Beekeeper Studio
Scarica Beekeeper Studio (gratis) >
Beekeeper Studio è un editor SQL open source che supporta MariaDB. Ecco come connetterti alla tua istanza MariaDB su Docker usando Beekeeper Studio:
- Apri Beekeeper Studio e clicca su
New Connection. - Seleziona MariaDB come tipo di connessione.
- Inserisci i seguenti dettagli di connessione:
- Host: 127.0.0.1
- Porta: 3306
- Nome utente: root
- Password: my-secret-pw
- Database: mydatabase (facoltativo)
- Clicca su
Connectper stabilire la connessione.
Avrai un'interfaccia bella e piacevole da usare per modificare e interrogare il tuo database MariaDB:
Gestire il tuo ambiente di sviluppo
Per fermare il container MariaDB:
docker stop mariadb-container
Per avviare di nuovo il container:
docker start mariadb-container
Per rimuovere il container:
docker rm -f mariadb-container
Conclusione
Configurare un ambiente di sviluppo MariaDB con Docker ti offre un setup robusto, facile da gestire e replicare. Docker Compose aggiunge scalabilità, rendendolo un'ottima scelta sia per piccoli progetti sia per team di sviluppo più grandi.
Altri articoli che potrebbero piacerti:
Beekeeper Studio è una GUI per MariaDB gratuita e open source
Beekeeper Studio è il miglior strumento che ho trovato per gestire MariaDB. È versatile, facile da usare e offre tante opzioni utili. Una vera chicca! Complimenti al team di sviluppo! - Nick
Beekeeper Studio è un client MariaDB veloce, intuitivo e facile da usare. Supporta anche tantissimi altri database e funziona alla grande su Windows, Mac e Linux.
Cosa dicono gli utenti MariaDB di Beekeeper Studio
ho sempre usato HeidiSQL perché è quello che viene fornito con MariaDB (ed è gratuito), ma mi ha sempre frustrato l'autocompletamento lento o del tutto assente e il dover usare spesso il mouse. BeeKeeper risolve queste frustrazioni. La formattazione JSON dei dati delle tabelle è comodissima.
Nel mio ruolo mi occupo sia di codice legacy che di codice nuovissimo, usando MSSQL/Mariadb/Oracle/Postgres e sqlite: credo di aver finalmente trovato lo strumento che copre tutte le mie esigenze in un unico tool