Kako zagnati MongoDB prek Dockerjevega kontejnerja
Docker-kontejnerje MongoDB je enostavno razmnoževati in prilagajati obsegu. Če se obremenitev baze podatkov poveča, lahko zaženete dodatne kontejnerje MongoDB. S tem zagotovite stabilno delovanje baze podatkov.
Ali MongoDB deluje v Dockerjevem kontejnerju?
MongoDB lahko učinkovito deluje v Dockerjevem kontejnerju. Na Docker Hubu sta na voljo dve vrsti slik MongoDB: Community Edition in Enterprise Edition. Izbira med tema dvema različicama je odvisna od vaših konkretnih potreb. Community Edition je običajno idealna za nekomercialno rabo ali manjše namestitve. Enterprise Edition pa vključuje dodatne funkcije in podporo za večje aplikacije ali podjetja z naprednejšimi potrebami, kot so šifriranje, revizija in integracija LDAP.
Če vnaprej pripravljene slike MongoDB na Docker Hubu ne ustrezajo v celoti vašim potrebam, vam Docker omogoča, da s pomočjo datoteke Dockerfile ustvarite lastno sliko Dockerja. S pomočjo datoteke Dockerfile lahko izberete različico MongoDB, nastavite določene možnosti (kot so metode avtentifikacije) ter namestite dodatna orodja ali gonilnike, potrebne za vaše okolje.
Kako korak za korakom uporabljati MongoDB v Dockerjevem kontejnerju
Docker je znan po svoji lahki virtualizaciji, ki omogoča prenosljivost in doslednost v različnih razvojnih in produkcijskih okoljih. V nadaljevanju vam bomo korak za korakom pokazali, kako v Dockerju nastaviti kontejnerje MongoDB. Začetnikom priporočamo, da si ogledajo naš vodič po Dockerju: Namestitev in prvi koraki, ki ponuja podrobno uvodno predstavitev te kontejnerske platforme.
Korak 1: Prenesite sliko MongoDB za Docker
Da bi ustvarili Docker-kontejner za MongoDB, moramo najprej pridobiti ustrezno sliko za zagon iz Docker Hub. Odprite terminal ali ukazno vrstico in izvedite naslednji ukaz:
docker pull mongo:latestbashČe slika že obstaja v lokalnem omrežju, Docker ne bo prenesel nove različice, razen če izrecno ne navedete različice, ki jo želite uporabiti (na primer mongo:4.4).
Korak 2: Zaženi Docker-kontejner MongoDB
Ko je slika Dockerja za MongoDB uspešno prenesena, lahko zaženete kontejner, ki temelji na tej sliki:
docker run: Zažene nov Docker-kontejner--name mongodb-container: Kontejner poimenuje »mongodb-container«-d: Ta parameter uporabite za zagon kontejnerja v ozadju (v ločenem načinu). To pomeni, da lahko terminal še vedno uporabljate, medtem ko kontejner teče-p 27017:27017: Odpre standardno vrata MongoDB 27017 kontejnerja na vašem gostiteljskem sistemumongo:latest: Zagotovi navodila za pridobitev najnovejše razpoložljive slike
Korak 3: Preverite, ali kontejner deluje
Da bi se prepričali, da je bil kontejner uspešno zagnan, vnesite naslednji ukaz:
docker psbashTe informacije ponujajo hiter pregled aktivnih Dockerjevih kontejnerjev MongoDB v vašem sistemu, vključno s podatki o tem, kako dolgo že tečejo in katere vrata uporabljajo. Za podrobnejše informacije, kot so ustavljeni kontejnerji ali posebne možnosti filtriranja, priporočamo uporabo ukaza docker ps -a.
Korak 4: Vzpostavite povezavo z MongoDB v Dockerjevem kontejnerju
Sedaj lahko vzpostavite povezavo s primerkom MongoDB v svojem Dockerjevem kontejnerju. Za to zagnajte MongoDB Shell neposredno v kontejnerju:
docker exec: Izvede ukaz v zagnanem kontejnerju-it: Omogoča interakcijo s terminalom v kontejnerjumongodb-container: Ime nastavljenega kontejnerja MongoDBmongo: Zažene lupino MongoDB
Ko izvedete ta ukaz, se bo prikazal MongoDB-ov ukazni vmesnik, pripravljen za sprejem ukazov. Zdaj lahko vnašate običajne ukaze MongoDB za upravljanje ali poizvedovanje v bazi podatkov.
Korak 5: Izvedite ukaze v lupini MongoDB
Sedaj lahko na naslednji način prikažete vse obstoječe baze podatkov na strežniku MongoDB:
show databasesbashIzpis vsebuje imena baz podatkov:
admin 0.000GB
local 0.000GB
test 0.000GBbashČe želite v lupini MongoDB delati z določeno bazo podatkov, uporabite naslednji ukaz:
use mydatabasebashUporabite naslednji ukaz, da preklopite na bazo podatkov z imenom »mydatabase«. Če baza podatkov ne obstaja, se bo ustvarila samodejno ob vstavljanju dokumenta.
Dokumente lahko poiščete tudi v določeni zbirki:
db.users.find()bashOkolje MongoDB vrne vse dokumente, ki so shranjeni v zbirki »users«.
{ "_id": ObjectId("609823e9f9a5f7f364fc3f90"), "username": "alice", "age": 28 }
{ "_id": ObjectId("609823f2f9a5f7f364fc3f91"), "username": "bob", "age": 32 }
{ "_id": ObjectId("609823f9f9a5f7f364fc3f92"), "username": "charlie", "age": 25 }bsonVsak dokument vsebuje edinstveno polje _id (identifikator, značilen za MongoDB) ter druga polja, kot sta username in age.
Več informacij o orodjih Docker in predstavitvi MongoDB, vključno s primerjavo z MySQL, najdete v našem vodniku.