I container Docker MongoDB sono facili da replicare e da scalare. Se il carico sul database aumenta, puoi avviare altri container MongoDB. Così le pre­sta­zio­ni del database restano stabili.

MongoDB viene eseguito in un container Docker?

MongoDB può essere fatto fun­zio­na­re ef­fi­ca­ce­men­te in un container Docker. In Docker Hub ci sono due tipi di immagini di MongoDB: Community Edition ed En­ter­pri­se Edition. Quale delle due varianti è più adatta a te dipende dalle tue esigenze spe­ci­fi­che. La Community Edition è usata ge­ne­ral­men­te per scopi non com­mer­cia­li o piccole di­stri­bu­zio­ni. La En­ter­pri­se Edition, invece, offre funzioni ag­giun­ti­ve e supporto, ri­sul­tan­do idonea per ap­pli­ca­zio­ni o ambienti aziendali più ampi, con requisiti avanzati come crit­to­gra­fia, audit e in­te­gra­zio­ne LDAP.

Se le immagini MongoDB su Docker Hub non cor­ri­spon­do­no com­ple­ta­men­te alle tue esigenze, Docker offre la pos­si­bi­li­tà di creare un’immagine Docker per­so­na­liz­za­ta mediante un Doc­ker­fi­le. Qui puoi scegliere la versione di MongoDB, impostare de­ter­mi­na­te opzioni di con­fi­gu­ra­zio­ne (ad esempio i metodi di au­ten­ti­ca­zio­ne) e in­stal­la­re ulteriori strumenti o driver im­por­tan­ti per il tuo ambiente.

Avviare MongoDB come container Docker: guida

Docker si con­trad­di­stin­gue per la vir­tua­liz­za­zio­ne leggera che favorisce la por­ta­bi­li­tà e la con­si­sten­za in diversi ambienti di sviluppo e pro­du­zio­ne. Di seguito ti forniamo istru­zio­ni det­ta­glia­te per con­fi­gu­ra­re container MongoDB in Docker. Per chi è agli inizi con­si­glia­mo il nostro tutorial su Docker, dove forniamo un’in­tro­du­zio­ne det­ta­glia­ta alla piat­ta­for­ma basata su container.

Primo passaggio: scaricare l’immagine Docker MongoDB

Per creare un container Docker MongoDB, iniziamo re­cu­pe­ran­do la relativa immagine per l’ese­cu­zio­ne di Docker Hub. Apri il tuo terminale o la riga di comando ed esegui il comando seguente:

docker pull mongo:latest
bash

Se l’immagine è già presente a livello locale, Docker non scarica una nuova versione, a meno che non sia tu a indicare espli­ci­ta­men­te 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:

docker run --name mongodb-container -d -p 27017:27017 mongo:latest
bash
  • 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 back­ground (detached mode). È così possibile con­ti­nua­re a usare il terminale mentre il container è in ese­cu­zio­ne.
  • -p 27017:27017: apre la porta standard MongoDB 27017 del container nel tuo sistema host
  • mongo:latest: im­par­ti­sce l’istru­zio­ne di re­cu­pe­ra­re l’immagine più recente di­spo­ni­bi­le

Terzo passaggio: ve­ri­fi­ca­re se il container è in ese­cu­zio­ne

Per ve­ri­fi­ca­re che il container sia stato avviato cor­ret­ta­men­te, usa il comando seguente:

docker ps
bash

Le in­for­ma­zio­ni ottenute sono utili per sapere quali container Docker MongoDB sono attivi sul tuo sistema, da quanto tempo sono in ese­cu­zio­ne e quali porte usano. Per conoscere altri dettagli, ad esempio i container arrestati o opzioni di filtro spe­ci­fi­che, puoi usare il comando docker ps -a.

Quarto passaggio: creare il col­le­ga­men­to a MongoDB nel container Docker

Ora puoi creare il col­le­ga­men­to all’istanza MongoDB nel tuo container Docker. Per far ciò, avvia la MongoDB shell di­ret­ta­men­te nel container:

docker exec -it mongodb-container mongo
bash
  • docker exec: esegue un comando nel container in ese­cu­zio­ne
  • -it: consente l’in­te­ra­zio­ne con il terminale nel container
  • mongodb-container: il nome del container MongoDB in­stal­la­to
  • 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 am­mi­ni­stra­re il tuo database o eseguire in­ter­ro­ga­zio­ni.

Quinto passaggio: eseguire ope­ra­zio­ni nella MongoDB shell

Di seguito vi­sua­liz­zia­mo ora tutti i database presenti sul server MongoDB:

show databases
bash

L’output contiene i nomi dei database:

admin   0.000GB
local      0.000GB
test       0.000GB
bash

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

use mydatabase
bash

Con questo comando passi al database chiamato “my­da­ta­ba­se”. Se il database non esiste, viene creato au­to­ma­ti­ca­men­te non appena viene inserito un documento.

Puoi anche in­ter­ro­ga­re documenti da una de­ter­mi­na­ta raccolta:

db.users.find()
bash

La MongoDB shell re­sti­tui­sce tutti i documenti salvati nella raccolta “users”.

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

Ciascun documento contiene un campo _id univoco (iden­ti­fi­ca­ti­vo specifico di MongoDB) e altri campi quali username e age.

Trovi maggiori in­for­ma­zio­ni sugli strumenti Docker e una pre­sen­ta­zio­ne di MongoDB e un confronto con MySQL nella nostra guida.

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
Vai al menu prin­ci­pa­le