Imposta un server MongoDB con Docker

Imposta un server MongoDB con Docker
In questo articolo, ti mostrerò come utilizzare Docker Compose per creare un contenitore MongoDB e accedervi utilizzando Mongo Express, l'interfaccia di amministrazione MongoDB basata sul Web. Quindi iniziamo.

Requisiti:

Per seguire questo articolo, è necessario installare Docker sul tuo computer. Linuxhint ha molti articoli che puoi seguire per installare Docker sulla distribuzione di Linux desiderata se non lo hai già installato. Quindi, assicurati di controllare Linuxhint.com nel caso in cui tu abbia problemi a installare Docker.

Installazione di Docker Compositura:

Per installare Docker Comy, aprire un terminale ed eseguire il seguente comando:

$ sudo curl -l "https: // github.com/docker/compose/versioni/download/1.24.1/
docker-compose-$ (uname -s)-$ (uname -m) "-o/usr/local/bin/docker-compose

Curl dovrebbe iniziare a scaricare binarie Docker. Potrebbe volerci un po 'di tempo per completare.

Una volta completato il download, aggiungi l'autorizzazione eseguibile al docker-compose File binario con il seguente comando:

$ sudo chmod +x/usr/local/bin/docker-compose

Ora, controlla se docker-compose Il binario è accessibile con il seguente comando:

$ Docker-compose-Version

Come potete vedere, docker-compose Binario funziona correttamente.

Impostazione del server MongoDB utilizzando Docker Compose:

In questa sezione, ti mostrerò una configurazione MongoDB e Mongo Express con Docker Composer.

Innanzitutto, crea una nuova directory di progetto Mongo-latest/ come segue:

$ mkdir Mongo-latest

Ora, naviga su Mongo-latest/ directory come segue:

$ cd Mongo-latest/

Ora, crea un nuovo file di configurazione di Docker Compon docker-compose.YML come segue:

$ nano docker-compose.YML

Ora, digita le seguenti righe di codici nel file docker-compose.YML.

Versione: '3'
Servizi:
Mongo:
Immagine: Mongo
Riavvia: sempre
Porte:
- "27017: 27017"
Mongo-Express:
Immagine: Mongo-Express
Riavvia: sempre
Porte:
- "8081: 8081"

Qui, stiamo definendo due servizi, Mongo E Mongo-Express. IL Mongo Il servizio è responsabile dell'avvio del Mongo (Immagine) Contenitore Docker. IL Mongo Porta container Docker 27017 viene inoltrato al porto 27017 Sul tuo host Docker. IL Mongo-Express Il servizio è responsabile dell'avvio del Mongo-Express (Immagine) Contenitore Docker. Allo stesso modo, porto 8081 viene inoltrato al porto 8081 Sull'host Docker.

Entrambi i servizi sono destinati a riavviare (Riavvia: sempre) su fallimento.

Ora, salva il file premendo + X seguito da Y E .

Ora, per avviare i servizi MongoDB e Mongo Express, eseguire il seguente comando:

$ Docker -Opse Up -D

Se stai eseguendo questo comando per la prima volta, potrebbe essere necessario un po 'di tempo per avviare i servizi poiché le immagini Docker verranno scaricate da Docker Hub.

I servizi dovrebbero iniziare.

Ora, da un browser Web, visitare http: // localhost: 8081 e l'interfaccia Web Mongo Express dovrebbe essere visualizzata come puoi vedere nello screenshot seguente. Da qui, è possibile gestire i database MongoDB, aggiungere dati al database e molti altri.

Impostazione della password del database MongoDB:

Se si desidera impostare una password del database MongoDB, questa sezione fa per te.

Innanzitutto, ferma i servizi MongoDB e Mongo Express come segue:

$ Docker-compone

Ora, modifica il docker-compose.YML file come segue:

$ nano docker-compose.YML

Ora, aggiungi il testo contrassegnato (BOLD) di seguito al file di configurazione docker-compose.YML.

Versione: '3'
Servizi:
Mongo:
Immagine: Mongo
Riavvia: sempre
Porte:
- "27017: 27017"
ambiente:
Mongo_initdb_root_username: root
Mongo_initdb_root_password: segreto
Mongo-Express:
Immagine: Mongo-Express
Riavvia: sempre
Porte:
- "8081: 8081"
ambiente:
ME_CONFIG_MONGODB_ADMINUSERNAME: root
ME_CONFIG_MONGODB_ADminpassword: segreto

IL Mongo_initdb_root_username: root E Mongo_initdb_root_password: segreto nel Mongo La sezione del servizio viene utilizzata per impostare il nome utente MongoDB radice e password segreto.

IL ME_CONFIG_MONGODB_ADMINUSERNAME: root E ME_CONFIG_MONGODB_ADminpassword: segreto nel Mongo-Express La sezione del servizio viene utilizzata per dire a Mongo Express di utilizzare il nome utente radice e password segreto Per connettersi al server MongoDB.

File di configurazione finale.

Ora, avvia i servizi come segue:

$ Docker -Opse Up -D

Come puoi vedere, posso ancora accedere all'interfaccia Web Mongo Express.

Ho cambiato il Mongo-Express password a qualcosa di diverso da segreto, E come puoi vedere, non sono stato in grado di connettermi al server MongoDB. Quindi, tutto funziona come previsto.

Salvataggio dei dati MongoDB utilizzando i volumi:

Per impostazione predefinita, il contenitore MongoDB non salva alcun dati. Se desideri persistere i dati del database MongoDB, devi utilizzare i volumi Docker. Ti mostrerò come in questa sezione.

Innanzitutto, ferma i servizi come segue:

$ Docker-compone

Ora aggiungi la sezione contrassegnata (in grassetto) al docker-compose.YML file.

Versione: '3'
Servizi:
Mongo:
Immagine: Mongo
Riavvia: sempre
Porte:
- "27017: 27017"
ambiente:
Mongo_initdb_root_username: root
Mongo_initdb_root_password: segreto
Volumi:
- Mongo-Data:/Data/DB
Mongo-Express:
Immagine: Mongo-Express
Riavvia: sempre
Porte:
- "8081: 8081"
ambiente:
ME_CONFIG_MONGODB_ADMINUSERNAME: root
ME_CONFIG_MONGODB_ADminpassword: segreto
Volumi:
Mongo-Data:

Qui, ho definito un nuovo volume nominato Mongo-Data che salva i dati dal percorso /dati/db del Mongo contenitore.

File di configurazione finale.

Ora, avvia i servizi come segue:

$ Docker -Opse Up -D

Come puoi vedere, l'interfaccia Web Mongo Express funziona correttamente.

Ho creato un nuovo database mydb.

Ora, riavvia i servizi come segue:

$ Docker-compose Riavvio

Come puoi vedere, anche dopo aver riavviato il Mongo (MongoDB) e Mongo-Express (Mongo Express) Servizi il mydb Il database è ancora disponibile. Quindi, ha funzionato.

Modifica del nome del contenitore MongoDB:

Per impostazione predefinita, il nome del servizio di database MongoDB dovrebbe essere Mongo Affinché Mongo Express funzioni. Ma, se si desidera modificare il nome del servizio di database in qualcos'altro MongoDB-Server, allora dovrai dire il Mongo-Express servizio che hai cambiato il Mongo Nome del servizio a qualcos'altro.

Innanzitutto, ferma i servizi come segue:

$ Docker-compone

Ora, modifica/aggiungi il testo contrassegnato in docker-compose.YML file di configurazione.

Versione: '3'
Servizi:
MongoDB-Server:
Immagine: Mongo
Riavvia: sempre
Porte:
- "27017: 27017"
ambiente:
Mongo_initdb_root_username: root
Mongo_initdb_root_password: segreto
Volumi:
- Mongo-Data:/Data/DB
Mongo-Express:
Immagine: Mongo-Express
Riavvia: sempre
Porte:
- "8081: 8081"
ambiente:
ME_CONFIG_MONGODB_ADMINUSERNAME: root
ME_CONFIG_MONGODB_ADminpassword: segreto
ME_CONFIG_MONGODB_SERVER: MONGODB-SERVER
Volumi:
Mongo-Data:

Qui, ME_CONFIG_MONGODB_SERVER: MONGODB-SERVER è usato per dire il Mongo-Express servizio che il Mongo Il nome del servizio viene modificato in MongoDB-Server.

Il file di configurazione finale.

Ora, avvia i servizi come segue:

$ Docker -Opse Up -D

Come puoi vedere, l'interfaccia Web Mongo Express funziona ancora.

Impostazione della password di accesso Mongo Express:

Per impostazione predefinita, l'interfaccia di amministrazione di Mongo Express non ti chiede informazioni di accesso. Ma se si desidera impostare un metodo di autenticazione nome utente e password, questa sezione fa per te.

Innanzitutto, ferma i servizi come segue:

$ Docker-compone

Ora aggiungi il testo contrassegnato (in grassetto) al docker-compose.YML file di configurazione.

Versione: '3'
Servizi:
Mongo:
Immagine: Mongo
Riavvia: sempre
Porte:
- "27017: 27017"
ambiente:
Mongo_initdb_root_username: root
Mongo_initdb_root_password: segreto
Volumi:
- Mongo-Data:/Data/DB
Mongo-Express:
Immagine: Mongo-Express
Riavvia: sempre
Porte:
- "8081: 8081"
ambiente:
ME_CONFIG_MONGODB_ADMINUSERNAME: root
ME_CONFIG_MONGODB_ADminpassword: segreto
Me_config_basicauth_username: admin
Me_config_basicauth_password: segreto
Volumi:
Mongo-Data:

Qui, Me_config_basicauth_username: admin E Me_config_basicauth_password: segreto è usato per dirlo Mongo-Express Servizio per utilizzare il nome utente amministratore e la password segreto per l'autenticazione.

File di configurazione finale.

Ora, avvia i servizi come segue:

$ Docker -Opse Up -D

Ora, se provi a visitare la pagina Mongo Express, ti verrà chiesto di autenticarsi utilizzando il tuo nome utente e password.

Se fornisci il nome utente e la password corretti, ti sarà permesso di utilizzare Mongo Express per gestire il tuo database MongoDB.

Riferimenti:

Per ulteriori informazioni, controllare i seguenti collegamenti:
[1] Pagina ufficiale di Docker Hub di Mongo
[2] Pagina ufficiale di Docker Hub di Mongo-Express

Quindi, è così che hai impostato un server MongoDB utilizzando Docker. Grazie per aver letto questo articolo.