Lučki radnik

Postavite MongoDB poslužitelj s Dockerom

Postavite MongoDB poslužitelj s Dockerom
U ovom članku pokazat ću vam kako koristiti Docker Compose za izradu MongoDB spremnika i pristup njemu pomoću Mongo Express, web sučelja za administraciju MongoDB temeljenog na webu. Pa, krenimo.

Zahtjevi:

Da biste pratili ovaj članak, na računalu morate imati instaliran Docker. LinuxHint ima puno članaka koje možete pratiti kako biste instalirali Docker na željenu Linux distribuciju ako ga već niste instalirali. Dakle, svakako provjerite LinuxHint.com u slučaju da imate problema s instaliranjem Dockera.

Instaliranje Dockera Compose:

Da biste instalirali Docker Compose, otvorite terminal i pokrenite sljedeću naredbu:

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

CURL bi trebao započeti preuzimanje binarnog programa Docker Compose. Dovršenje može potrajati.

Kad je preuzimanje završeno, dodajte izvršno dopuštenje za docker-compose binarna datoteka sa sljedećom naredbom:

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

Sada provjeri je li docker-compose binarnom je dostupan sa sljedećom naredbom:

$ docker-compose --verzija

Kao što vidiš, docker-compose binarni ispravno radi.

Postavljanje MongoDB poslužitelja pomoću Docker Compose:

U ovom odjeljku pokazat ću vam vrlo osnovne postavke MongoDB-a i Mongo Express-a pomoću Docker Composer-a.

Prvo stvorite novi direktorij projekta mongo-najnovije / kako slijedi:

$ mkdir mongo-najnovije

Sada idite na mongo-najnovije / direktorij kako slijedi:

$ cd mongo-najnovije /

Sada stvorite novu konfiguracijsku datoteku Docker Compose docker-compose.yml kako slijedi:

$ nano doker-sastavi.yml

Sada u datoteku unesite sljedeće retke kodova docker-compose.yml.

inačica: '3'
usluge:
mongo:
slika: mongo
ponovno pokretanje: uvijek
luke:
- "27017: 27017"
 
mongo-express:
slika: mongo-express
ponovno pokretanje: uvijek
luke:
- "8081: 8081"

Ovdje definiramo dvije usluge, mongo i mongo-express. The mongo služba odgovorna je za pokretanje mongo (slika) Docker spremnik. The mongo Luka za kontejner za Docker 27017 prosljeđuje se u luku 27017 na vašem Docker domaćinu. The mongo-express služba odgovorna je za pokretanje mongo-express (slika) Docker spremnik. Isti način, luka 8081 se prosljeđuje u luku 8081 na domaćinu Docker.

Obje su usluge postavljene za ponovno pokretanje (ponovno pokretanje: uvijek) na neuspjeh.

Sada spremite datoteku pritiskom na + x nakon čega slijedi Y i .

Sada, da biste pokrenuli usluge MongoDB i Mongo Express, pokrenite sljedeću naredbu:

$ docker-compose up -d

Ako ovu naredbu izvodite prvi put, pokretanje usluga može potrajati, jer će se Dockerove slike preuzeti s Docker Hub-a.

Usluge bi trebale započeti.

Sada iz web preglednika posjetite http: // localhost: 8081 i web sučelje Mongo Express trebalo bi biti prikazano kao što možete vidjeti na donjoj snimci zaslona. Odavde možete upravljati MongoDB bazama podataka, dodavati podatke u bazu podataka i još mnogo toga.

Postavljanje lozinke baze podataka MongoDB:

Ako želite postaviti lozinku baze podataka MongoDB, onda je ovaj odjeljak za vas.

Prvo zaustavite usluge MongoDB i Mongo Express kako slijedi:

$ docker-sastavi dolje

Sada uredite docker-compose.yml datoteka na sljedeći način:

$ nano doker-sastavi.yml

Sada dodajte označeni tekst (podebljano) ispod u konfiguracijsku datoteku docker-compose.yml.

inačica: '3'
usluge:
mongo:
slika: mongo
ponovno pokretanje: uvijek
luke:
- "27017: 27017"
okoliš:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: tajno
mongo-express:
slika: mongo-express
ponovno pokretanje: uvijek
luke:
- "8081: 8081"
okoliš:
ME_CONFIG_MONGODB_ADMINUSERNAME: root
ME_CONFIG_MONGODB_ADMINPASSWORD: tajno

The MONGO_INITDB_ROOT_USERNAME: root i MONGO_INITDB_ROOT_PASSWORD: tajno u mongo odjeljak usluge koriste se za postavljanje korisničkog imena MongoDB korijen i lozinku tajna.

The ME_CONFIG_MONGODB_ADMINUSERNAME: korijen i ME_CONFIG_MONGODB_ADMINPASSWORD: tajno u mongo-express Odjeljak usluge koristi se kako bi Mongo Expressu rekao da koristi korisničko ime korijen i lozinku tajna za povezivanje s MongoDB poslužiteljem.

Datoteka konačne konfiguracije.

Sada pokrenite usluge na sljedeći način:

$ docker-compose up -d

Kao što vidite, još uvijek mogu pristupiti web sučelju Mongo Express.

Promijenio sam mongo-express lozinka za nešto drugo osim tajna, i kao što vidite, nisam se uspio povezati s MongoDB poslužiteljem. Dakle, sve funkcionira prema očekivanjima.

Spremanje MongoDB podataka pomoću volumena:

Prema zadanim postavkama spremnik MongoDB ne sprema nikakve podatke. Ako želite da podaci vaše baze podataka MongoDB i dalje traju, morate koristiti Dockerove sveske. Pokazat ću vam kako u ovom odjeljku.

Prvo zaustavite usluge na sljedeći način:

$ docker-sastavi dolje

Sada dodajte označeni (podebljani) odjeljak u docker-compose.yml datoteka.

inačica: '3'
usluge:
mongo:
slika: mongo
ponovno pokretanje: uvijek
luke:
- "27017: 27017"
okoliš:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: tajno
svezaka:
- mongo-podaci: / data / db
 
mongo-express:
slika: mongo-express
ponovno pokretanje: uvijek
luke:
- "8081: 8081"
okoliš:
ME_CONFIG_MONGODB_ADMINUSERNAME: korijen
ME_CONFIG_MONGODB_ADMINPASSWORD: tajna
svezaka:
mongo-podaci:

Ovdje sam definirao novi imenovani svezak mongo-podaci što sprema podatke s puta / data / db od mongo kontejner.

Datoteka konačne konfiguracije.

Sada pokrenite usluge na sljedeći način:

$ docker-compose up -d

Kao što vidite, web sučelje Mongo Express ispravno radi.

Stvorio sam novu bazu podataka mydb.

Sada ponovo pokrenite usluge na sljedeći način:

$ docker-compose ponovno pokretanje

Kao što vidite, čak i nakon ponovnog pokretanja mongo (MongoDB) i mongo-express (Mongo Express) servisira mydb baza podataka je i dalje dostupna. Dakle, uspjelo je.

Promjena naziva spremnika MongoDB:

Prema zadanim postavkama naziv usluge MongoDB baze podataka trebao bi biti mongo kako bi Mongo Express mogao raditi. Ali, ako želite promijeniti naziv usluge baze podataka u nešto drugo poput mongodb-poslužitelj, tada ćete morati reći mongo-express uslugu koju ste promijenili mongo naziv usluge za nešto drugo.

Prvo zaustavite usluge na sljedeći način:

$ docker-sastavi dolje

Sada promijenite / dodajte označeni tekst u docker-compose.yml konfiguracijska datoteka.

inačica: '3'
usluge:
mongodb-poslužitelj:
slika: mongo
ponovno pokretanje: uvijek
luke:
- "27017: 27017"
okoliš:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: tajno
svezaka:
- mongo-podaci: / data / db
 
mongo-express:
slika: mongo-express
ponovno pokretanje: uvijek
luke:
- "8081: 8081"
okoliš:
ME_CONFIG_MONGODB_ADMINUSERNAME: korijen
ME_CONFIG_MONGODB_ADMINPASSWORD: tajna
ME_CONFIG_MONGODB_SERVER: mongodb-poslužitelj
svezaka:
mongo-podaci:

Ovdje, ME_CONFIG_MONGODB_SERVER: mongodb-poslužitelj koristi se za kazivanje mongo-express usluga koja mongo naziv usluge se mijenja u mongodb-poslužitelj.

Konačna konfiguracijska datoteka.

Sada pokrenite usluge na sljedeći način:

$ docker-compose up -d

Kao što vidite, web sučelje Mongo Express i dalje radi.

Postavljanje lozinke za pristup Mongo Expressu:

Prema zadanim postavkama, administracijsko sučelje Mongo Express ne traži nikakve podatke za prijavu. Ali ako želite postaviti način provjere autentičnosti korisničkog imena i lozinke, onda je ovaj odjeljak za vas.

Prvo zaustavite usluge na sljedeći način:

$ docker-sastavi dolje

Sada dodajte označeni (podebljani) tekst u docker-compose.yml konfiguracijska datoteka.

inačica: '3'
usluge:
mongo:
slika: mongo
ponovno pokretanje: uvijek
luke:
- "27017: 27017"
okoliš:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: tajno
svezaka:
- mongo-podaci: / data / db
 
mongo-express:
slika: mongo-express
ponovno pokretanje: uvijek
luke:
- "8081: 8081"
okoliš:
ME_CONFIG_MONGODB_ADMINUSERNAME: korijen
ME_CONFIG_MONGODB_ADMINPASSWORD: tajno
ME_CONFIG_BASICAUTH_USERNAME: admin
ME_CONFIG_BASICAUTH_PASSWORD: tajna
svezaka:
mongo-podaci:

Ovdje, ME_CONFIG_BASICAUTH_USERNAME: admin i ME_CONFIG_BASICAUTH_PASSWORD: tajno koristi se za kazivanje mongo-express usluga za upotrebu korisničkog imena admin i lozinku tajna za autentifikaciju.

Datoteka konačne konfiguracije.

Sada pokrenite usluge na sljedeći način:

$ docker-compose up -d

Sada, ako pokušate posjetiti stranicu Mongo Express, od vas će se zatražiti autentifikacija pomoću vašeg korisničkog imena i lozinke.

Ako navedete ispravno korisničko ime i lozinku, bit će vam dopušteno koristiti Mongo Express za upravljanje vašom MongoDB bazom podataka.

Reference:

Za više informacija provjerite sljedeće poveznice:
[1] Službena stranica Docker Hub-a mongo
[2] Službena stranica Docker Hub-a mongo-expressa

Dakle, tako postavljate MongoDB poslužitelj pomoću Dockera. Hvala što ste pročitali ovaj članak.

Najbolje aplikacije za mapiranje gamepada za Linux
Ako volite igrati igre na Linuxu s gamepadom umjesto tipičnim sustavom za unos tipkovnice i miša, za vas postoji nekoliko korisnih aplikacija. Mnoge r...
Korisni alati za Linux igrače
Ako volite igrati igre na Linuxu, velika je vjerojatnost da ste možda koristili aplikacije i uslužne programe poput Wine, Lutris i OBS Studio za pobol...
HD Remastered igre za Linux koje ranije nisu imale Linux izdanje
Mnogi programeri i izdavači igara dolaze s HD remasterom starih igara kako bi produžili životni vijek franšize, molimo obožavatelje da zatraže kompati...