Docker si adatta bene all’uso rapido di MariaDB. Prima scarica un’immagine adatta, poi configura e avvia il container con le im­po­sta­zio­ni de­si­de­ra­te. In questo modo, puoi testare o svi­lup­pa­re in­di­pen­den­te­men­te dal sistema host in un ambiente con­trol­la­to.

Vantaggi degli ambienti MariaDB con Docker

Docker offre un modo semplice per fornire MariaDB in ambienti isolati. Puoi avviare le istanze ra­pi­da­men­te e testare diverse versioni in maniera in­di­pen­den­te. In questo modo risparmi tempo, eviti conflitti con in­stal­la­zio­ni locali e crei con­di­zio­ni ri­pro­du­ci­bi­li per sviluppo e test.

Quali sono i requisiti?

Prima di iniziare, as­si­cu­ra­ti che siano sod­di­sfat­te le seguenti con­di­zio­ni:

  • Docker è in­stal­la­to e in ese­cu­zio­ne sul tuo sistema
  • Accesso a una riga di comando (terminale, Po­wer­Shell, ecc.) con permessi di am­mi­ni­stra­to­re
  • Opzionale per MariaDB: Docker Compose per con­fi­gu­ra­zio­ni più complesse
Managed Database Services
Con­cen­tra­ti sul tuo progetto, noi pensiamo al resto
  • Partner IONOS Cloud
  • Soluzioni fles­si­bi­li e su misura
  • Data center situati in Europa

In­stal­la­zio­ne di MariaDB su Docker: guida

Ti mostriamo di seguito come in­stal­la­re MariaDB su Docker in pochi passaggi. Per con­fi­gu­ra­re Docker, puoi seguire il nostro tutorial su Docker.

Primo passaggio: in­stal­la­re Docker

Se non hai ancora in­stal­la­to Docker, puoi con­fi­gu­rar­lo tramite lo script di in­stal­la­zio­ne ufficiale:

curl -sSL https://get.docker.com/ | sh
bash

Su Windows o macOS è con­si­glia­to usare Docker Desktop. Dopo l’in­stal­la­zio­ne riuscita, verifica il fun­zio­na­men­to con:

docker --version
bash

L’output dovrebbe mostrare un numero di versione, ad esempio Docker version 27.5.1, build cb74dfcd. Se è così, hai con­fi­gu­ra­to Docker cor­ret­ta­men­te.

Secondo passaggio: scaricare l’immagine MariaDB

Ora scarica l’immagine ufficiale MariaDB su Docker da Docker Hub. Questa contiene un’istanza di MariaDB com­ple­ta­men­te pre­con­fi­gu­ra­ta.

docker pull mariadb:latest
bash

Se pre­fe­ri­sci una versione specifica, puoi anche spe­ci­fi­car­la espli­ci­ta­men­te, per esempio:

docker pull mariadb:10.11
bash

Puoi ve­ri­fi­ca­re tutte le immagini salvate in locale con il seguente comando:

docker images
bash

La riga con mariadb e il relativo tag dovrebbe apparire nell’elenco.

Terzo passaggio: avviare il container di MariaDB su Docker

Ora crea il container. Utilizza il comando:

docker run --name mariadb-container -e MYSQL_ROOT_PASSWORD=password -d -p 3306:3306 mariadb:latest
bash
  • --name mariadb-container: assegna un nome al container, che può essere uti­liz­za­to per riferirsi a esso nel sistema.
  • -e MYSQL_ROOT_PASSWORD=password: imposta la password di root del database MariaDB. Avrai bisogno di questa per accedere suc­ces­si­va­men­te.
  • -d: avvia il container in back­ground (modalità di­stac­ca­ta), così la tua console rimane libera.
  • -p 3306:3306: collega la porta pre­de­fi­ni­ta del database del container alla stessa porta sul tuo sistema locale, in modo da poter accedere con i client.

Dopo aver eseguito questo comando, Docker dovrebbe avviare il container. Per ve­ri­fi­ca­re lo stato, inserisci:

docker ps
bash

Nell’elenco dei container in ese­cu­zio­ne dovrebbe apparire mariadb-container con lo stato Up. Se il container non funziona come previsto, puoi vi­sua­liz­za­re i file di log con:

docker logs mariadb-container
bash

L’output dei log ti aiuta a iden­ti­fi­ca­re eventuali errori di con­fi­gu­ra­zio­ne.

Quarto passaggio: stabilire l’accesso a MariaDB

Una volta che il container MariaDB su Docker è in ese­cu­zio­ne, puoi accedere al database con un client com­pa­ti­bi­le MySQL come lo strumento MySQL standard o strumenti grafici come DBeaver, HeidiSQL o Beekeeper Studio.

Usa ad esempio il seguente comando nella riga di comando:

mysql -h 127.0.0.1 -P 3306 -u root -p
bash

Ti verrà richiesto di inserire la password. Inserisci la password che hai impostato con MYSQL_ROOT_PASSWORD.

Se tutto funziona, avrai accesso alla console di MariaDB su Docker. Lì potrai eseguire i comandi SQL come di consueto:

SHOW DATABASES;
sql

Vedrai un elenco dei database standard e ora puoi creare i tuoi database o le tue tabelle.

Quinto passaggio: pro­teg­ge­re i dati per­si­sten­ti con i volumi

Per im­po­sta­zio­ne pre­de­fi­ni­ta, i dati nel container sono volatili. Per pro­teg­ge­re i tuoi dati durante i riavvii o i cam­bia­men­ti di container, dovresti uti­liz­za­re un volume:

docker run --name mariadb-container -e MYSQL_ROOT_PASSWORD=password -d \
    -v mariadb_data:/var/lib/mysql \
    -p 3306:3306 mariadb:latest
bash

-v mariadb_data:/var/lib/mysql crea un volume Docker chiamato mariadb_data e lo collega alla directory in cui MariaDB memorizza i suoi dati.

Puoi vi­sua­liz­za­re i volumi me­mo­riz­za­ti in qualsiasi momento con il seguente comando:

docker volume ls
bash

E con questo comando, puoi ispe­zio­na­re il contenuto di un volume:

docker volume inspect mariadb_data
bash

Sesto passaggio: gestire MariaDB con Docker Compose

Per con­fi­gu­ra­zio­ni più complesse, dovresti uti­liz­za­re Docker Compose. Crea quindi un file docker-compose.yml con il seguente contenuto:

version: '3.1'
services:
    mariadb:
        image: mariadb:latest
        container_name: mariadb-compose
        environment:
            MYSQL_ROOT_PASSWORD: password
            MYSQL_DATABASE: example_db
        ports:
            - "3306:3306"
        volumes:
            - mariadb_data:/var/lib/mysql
volumes:
    mariadb_data:
yaml

Avvia l’ambiente con:

docker-compose up -d
bash

Suc­ces­si­va­men­te, MariaDB sarà in ese­cu­zio­ne per­ma­nen­te in back­ground, inclusa la memoria per­si­sten­te e il database pre­con­fi­gu­ra­to.

Settimo passaggio: arrestare, avviare ed eliminare i container

La gestione dei container è molto semplice con Docker. Puoi arrestare o riavviare in qualsiasi momento il container di MariaDB su Docker senza perdita di dati, a con­di­zio­ne che tu utilizzi i volumi.

Arrestare il container:

docker stop mariadb-container
bash

Avviare il container:

docker start mariadb-container
bash

Rimuovere il container:

docker rm mariadb-container
bash

Eliminare il container insieme al volume:

docker rm -v mariadb-container
bash

Ottavo passaggio: riavvio au­to­ma­ti­co del container

Per garantire che il tuo container MariaDB su Docker si riavvii au­to­ma­ti­ca­men­te dopo un riavvio del sistema host, puoi impostare una con­di­zio­ne di riavvio (Restart Policy):

docker run --name mariadb-container -e MYSQL_ROOT_PASSWORD=password \
    -v mariadb_data:/var/lib/mysql \
    -p 3306:3306 \
    --restart unless-stopped \
    -d mariadb:latest
bash

--restart unless-stopped ga­ran­ti­sce che il container si avvii au­to­ma­ti­ca­men­te dopo un riavvio del sistema, a meno che non sia stato arrestato ma­nual­men­te.

Vai al menu prin­ci­pa­le