# Installare MariaDB tramite Docker: come fare

Docker si adatta bene all’uso rapido di MariaDB. Prima scarica un’immagine adatta, poi configura e avvia il container con le impostazioni desiderate. In questo modo, puoi testare o sviluppare indipendentemente dal sistema host in un ambiente controllato.

## Vantaggi degli ambienti MariaDB con Docker

[Docker](https://www.ionos.it/digitalguide/server/know-how/cose-docker/) offre un modo semplice per fornire [MariaDB](https://www.ionos.it/digitalguide/server/know-how/cose-mariadb/) in **ambienti isolati**. Puoi avviare le istanze rapidamente e testare diverse versioni in maniera indipendente. In questo modo risparmi tempo, eviti conflitti con installazioni locali e crei condizioni riproducibili per sviluppo e test.

## Quali sono i requisiti?

Prima di iniziare, assicurati che siano soddisfatte le seguenti condizioni:

- Docker è installato e in esecuzione sul tuo sistema
- Accesso a una riga di comando (terminale, PowerShell, ecc.) con permessi di amministratore
- Opzionale per MariaDB: [Docker Compose](https://www.ionos.it/digitalguide/server/configurazione/docker-compose-tutorial/) per configurazioni più complesse

## Installazione di MariaDB su Docker: guida

Ti mostriamo di seguito come installare MariaDB su Docker in pochi passaggi. Per configurare Docker, puoi seguire il nostro [tutorial su Docker](https://www.ionos.it/digitalguide/server/configurazione/tutorial-di-docker/).

### Primo passaggio: installare Docker

Se non hai ancora installato Docker, puoi configurarlo tramite lo **script di installazione** ufficiale:

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

Su Windows o macOS è consigliato usare **Docker Desktop**. Dopo l’installazione riuscita, verifica il funzionamento con:

```bash
docker --version
```

L’output dovrebbe mostrare un numero di versione, ad esempio `Docker version 27.5.1, build cb74dfcd`. Se è così, hai configurato Docker correttamente.

### Secondo passaggio: scaricare l’immagine MariaDB

Ora scarica l’[immagine ufficiale MariaDB su Docker](https://hub.docker.com/_/mariadb "Immagine MariaDB su Docker Hub") da **Docker Hub**. Questa contiene un’istanza di MariaDB completamente preconfigurata.

```bash
docker pull mariadb:latest
```

Se preferisci una versione specifica, puoi anche specificarla esplicitamente, per esempio:

```bash
docker pull mariadb:10.11
```

Puoi verificare tutte le immagini salvate in locale con il seguente comando:

```bash
docker images
```

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:

```bash
docker run --name mariadb-container -e MYSQL_ROOT_PASSWORD=password -d -p 3306:3306 mariadb:latest
```

- `--name mariadb-container`: assegna un nome al container, che può essere utilizzato 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 successivamente.
- `-d`: avvia il container in background (modalità distaccata), così la tua console rimane libera.
- `-p 3306:3306`: collega la porta predefinita 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 verificare lo stato, inserisci:

```bash
docker ps
```

Nell’elenco dei container in esecuzione dovrebbe apparire `mariadb-container` con lo stato `Up`. Se il container non funziona come previsto, puoi visualizzare i file di log con:

```bash
docker logs mariadb-container
```

L’output dei log ti aiuta a identificare eventuali errori di configurazione.

### Quarto passaggio: stabilire l’accesso a MariaDB

Una volta che il container MariaDB su Docker è in esecuzione, puoi accedere al database con un **client compatibile 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:

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

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:

```sql
SHOW DATABASES;
```

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

### Quinto passaggio: proteggere i dati persistenti con i volumi

Per impostazione predefinita, i dati nel container sono volatili. Per proteggere i tuoi dati durante i riavvii o i cambiamenti di container, dovresti utilizzare un volume:

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

`-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 visualizzare i volumi memorizzati in qualsiasi momento con il seguente comando:

```bash
docker volume ls
```

E con questo comando, puoi ispezionare il contenuto di un volume:

```bash
docker volume inspect mariadb_data
```

### Sesto passaggio: gestire MariaDB con Docker Compose

Per configurazioni più complesse, dovresti utilizzare [Docker Compose](https://www.ionos.it/digitalguide/server/configurazione/docker-compose-tutorial/). Crea quindi un file `docker-compose.yml` con il seguente contenuto:

```yaml
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:
```

Avvia l’ambiente con:

```bash
docker-compose up -d
```

Successivamente, MariaDB sarà in esecuzione permanente in background, inclusa la memoria persistente e il database preconfigurato.

### 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 condizione che tu utilizzi i volumi.

**Arrestare il container:**

```bash
docker stop mariadb-container
```

**Avviare il container:**

```bash
docker start mariadb-container
```

**Rimuovere il container:**

```bash
docker rm mariadb-container
```

**Eliminare il container insieme al volume:**

```bash
docker rm -v mariadb-container
```

### Ottavo passaggio: riavvio automatico del container

Per garantire che il tuo container MariaDB su Docker si riavvii automaticamente dopo un riavvio del sistema host, puoi impostare una condizione di riavvio (Restart Policy):

```bash
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
```

`--restart unless-stopped` garantisce che il container si avvii automaticamente dopo un riavvio del sistema, a meno che non sia stato arrestato manualmente.


This is a markdown version of: [https://www.ionos.it/digitalguide/hosting/tecniche-hosting/mariadb-docker/](https://www.ionos.it/digitalguide/hosting/tecniche-hosting/mariadb-docker/) for AI/LLM consumption.