# Come eseguire MongoDB tramite container Docker

I container Docker MongoDB sono facili da replicare e da scalare. Se il carico sul database aumenta, puoi avviare altri container MongoDB. Così le **prestazioni del database restano stabili**.

## MongoDB viene eseguito in un container Docker?

MongoDB può essere fatto funzionare efficacemente in un [container Docker](https://www.ionos.it/digitalguide/server/know-how/container-docker/). In Docker Hub ci sono due tipi di immagini di MongoDB: **Community Edition** ed **Enterprise Edition**. Quale delle due varianti è più adatta a te dipende dalle tue esigenze specifiche. La Community Edition è usata generalmente per scopi non commerciali o piccole distribuzioni. La Enterprise Edition, invece, offre funzioni aggiuntive e supporto, risultando idonea per applicazioni o ambienti aziendali più ampi, con requisiti avanzati come crittografia, audit e integrazione LDAP.

Se le immagini MongoDB su Docker Hub non corrispondono completamente alle tue esigenze, [Docker](https://www.ionos.it/digitalguide/server/know-how/cose-docker/) offre la possibilità di creare un’**immagine Docker personalizzata** mediante un [Dockerfile](https://www.ionos.it/digitalguide/server/know-how/dockerfile/). Qui puoi scegliere la versione di MongoDB, impostare determinate opzioni di configurazione (ad esempio i metodi di autenticazione) e installare ulteriori strumenti o driver importanti per il tuo ambiente.

## Avviare MongoDB come container Docker: guida

Docker si contraddistingue per la **virtualizzazione leggera** che favorisce la portabilità e la consistenza in diversi ambienti di sviluppo e produzione. Di seguito ti forniamo istruzioni dettagliate per configurare container MongoDB in Docker. Per chi è agli inizi consigliamo il nostro [tutorial su Docker](https://www.ionos.it/digitalguide/server/configurazione/tutorial-di-docker/), dove forniamo un’introduzione dettagliata alla piattaforma basata su container.

### Primo passaggio: scaricare l’immagine Docker MongoDB

Per creare un container Docker MongoDB, iniziamo recuperando la relativa immagine per l’esecuzione di **Docker Hub**. Apri il tuo terminale o la riga di comando ed esegui il comando seguente:

```bash
docker pull mongo:latest
```

Se l’immagine è già presente a livello locale, Docker non scarica una nuova versione, a meno che non sia tu a indicare esplicitamente la versione da usare (ad esempio `mongo:4.4`).

### Secondo passaggio: avviare il container Docker MongoDB

Dopo aver scaricato l’immagine Docker per MongoDB, in base a essa puoi avviare un container:

```bash
docker run --name mongodb-container -d -p 27017:27017 mongo:latest
```

- `docker run`: avvia un nuovo container Docker
- `--name mongodb-container`: assegna al container il nome “mongodb-container”
- `-d`: con questo parametro avvii il container in background (detached mode). È così possibile continuare a usare il terminale mentre il container è in esecuzione.
- `-p 27017:27017`: apre la porta standard MongoDB 27017 del container nel tuo sistema host
- `mongo:latest`: impartisce l’istruzione di recuperare l’immagine più recente disponibile

### Terzo passaggio: verificare se il container è in esecuzione

Per verificare che il container sia stato avviato correttamente, usa il comando seguente:

```bash
docker ps
```

Le informazioni ottenute sono utili per sapere quali container Docker MongoDB sono attivi sul tuo sistema, da quanto tempo sono in esecuzione e quali porte usano. Per conoscere altri dettagli, ad esempio i container arrestati o opzioni di filtro specifiche, puoi usare il comando `docker ps -a`.

### Quarto passaggio: creare il collegamento a MongoDB nel container Docker

Ora puoi creare il collegamento all’istanza MongoDB nel tuo container Docker. Per far ciò, avvia la **MongoDB shell** direttamente nel container:

```bash
docker exec -it mongodb-container mongo
```

- `docker exec`: esegue un comando nel container in esecuzione
- `-it`: consente l’interazione con il terminale nel container
- `mongodb-container`: il nome del container MongoDB installato
- `mongo`: avvia la MongoDB shell

Dopo aver eseguito questo comando dovresti vedere la MongoDB shell che è pronta a ricevere comandi. Puoi ora inserire gli abituali comandi MongoDB per amministrare il tuo database o eseguire interrogazioni.

### Quinto passaggio: eseguire operazioni nella MongoDB shell

Di seguito visualizziamo ora tutti i database presenti sul server MongoDB:

```bash
show databases
```

L’output contiene i nomi dei database:

```bash
admin   0.000GB
local      0.000GB
test       0.000GB
```

Per lavorare con un database specifico nella MongoDB shell, usa il comando seguente:

```bash
use mydatabase
```

Con questo comando passi al database chiamato “mydatabase”. Se il database non esiste, viene creato automaticamente non appena viene inserito un documento.

Puoi anche interrogare documenti da una determinata raccolta:

```bash
db.users.find()
```

La MongoDB shell restituisce tutti i documenti salvati nella raccolta “users”.

```bson
{ "_id": ObjectId("609823e9f9a5f7f364fc3f90"), "username": "alice", "age": 28 }
{ "_id": ObjectId("609823f2f9a5f7f364fc3f91"), "username": "bob", "age": 32 }
{ "_id": ObjectId("609823f9f9a5f7f364fc3f92"), "username": "charlie", "age": 25 }
```

Ciascun documento contiene un campo `_id` univoco (identificativo specifico di MongoDB) e altri campi quali `username` e `age`.

Trovi maggiori informazioni sugli [strumenti Docker](https://www.ionos.it/digitalguide/server/know-how/i-tool-di-docker-lecosistema-della-piattaforma-container/) e una [presentazione di MongoDB e un confronto con MySQL](https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/mongodb-presentazione-e-confronto-con-mysql/) nella nostra guida.


This is a markdown version of: [https://www.ionos.it/digitalguide/server/configurazione/mongodb-docker-container/](https://www.ionos.it/digitalguide/server/configurazione/mongodb-docker-container/) for AI/LLM consumption.