MongoDB:n käyttäminen Docker-kontin kautta
MongoDB-Docker-kontteja on helppo monistaa ja skaalata. Jos tietokannan kuormitus kasvaa, voit käynnistää lisää MongoDB-kontteja. Näin tietokannan suorituskyky pysyy vakaana.
Toimiiko MongoDB Docker-kontissa?
MongoDB toimii tehokkaasti Docker-kontissa. Docker Hubissa on saatavilla kahta erilaista MongoDB-kuvaa: Community Edition ja Enterprise Edition. Näiden kahden version välinen valinta riippuu käyttäjän erityistarpeista. Community Edition sopii yleensä parhaiten ei-kaupalliseen käyttöön tai pienempiin kokoonpanoihin. Enterprise Edition puolestaan sisältää lisäominaisuuksia ja tukea suuremmille sovelluksille tai yrityksille, joilla on edistyneempiä tarpeita, kuten salaus, auditointi ja LDAP-integraatio.
Jos Docker Hubissa olevat valmiit MongoDB-kuvat eivät täysin vastaa tarpeitasi, Dockerin avulla voit luoda mukautetun Docker-kuvan Dockerfile-tiedoston avulla. Dockerfile-tiedoston avulla voit valita MongoDB-version, määrittää tiettyjä asetuksia (kuten todennusmenetelmiä) ja asentaa ympäristöösi tarvittavia lisätyökaluja tai -ajureita.
MongoDB:n käyttö Docker-konttina vaihe vaiheelta
Docker tunnetaan kevyestä virtualisoinnistaan, joka mahdollistaa siirrettävyyden ja yhdenmukaisuuden eri kehitys- ja tuotantoympäristöissä. Seuraavassa opastamme sinua vaihe vaiheelta MongoDB-konttien määrittämisessä Dockerissa. Aloittelijoille suosittelemme tutustumaan Docker-oppaaseemme: Asennus ja ensimmäiset askeleet, joka tarjoaa yksityiskohtaisen johdannon konttialustaan.
Vaihe 1: Lataa MongoDB:n Docker-kuva
MongoDB-Docker-kontin luomiseksi haetaan ensin Docker Hubista sopiva kuva. Avaa terminaali tai komentorivi ja suorita seuraava komento:
docker pull mongo:latestbashJos kuva on jo tallennettu paikallisesti, Docker ei lataa uutta versiota, ellet nimenomaisesti määritä käytettävää versiota (esimerkiksi mongo:4.4).
Vaihe 2: Käynnistä MongoDB-Docker-kontti
Kun MongoDB:n Docker-kuva on ladattu onnistuneesti, voit käynnistää tämän kuvan pohjalta kontin:
docker run: Käynnistää uuden Docker-kontin--name mongodb-container: Nimeää kontin nimellä ”mongodb-container”-d: Käytä tätä parametria käynnistääksesi kontin taustalla (irrotettu tila). Tämä tarkoittaa, että terminaalia voidaan edelleen käyttää kontin ollessa käynnissä-p 27017:27017: Avaa kontin MongoDB-vakioportin 27017 isäntäjärjestelmässäsimongo:latest: Antaa ohjeet uusimman saatavilla olevan kuvan hankkimiseksi
Vaihe 3: Tarkista, että kontti on käynnissä
Varmistaaksesi, että kontti on käynnistetty onnistuneesti, kirjoita seuraava komento:
docker psbashNämä tiedot antavat nopean yleiskuvan järjestelmässäsi käynnissä olevista MongoDB-Docker-kontteista, mukaan lukien niiden käynnissäoloaika ja käyttämät portit. Jos haluat tarkempia tietoja, kuten pysäytetyistä konteista tai tietyistä suodatusvaihtoehdoista, suosittelemme käyttämään docker ps -a.
Vaihe 4: Muodosta yhteys MongoDB:hen Docker-kontissa
Nyt voit muodostaa yhteyden Docker-kontissasi olevaan MongoDB-instanssiin. Voit tehdä tämän käynnistämällä MongoDB-komentotulkin suoraan kontissa:
docker exec: Suorittaa komennon käynnissä olevassa kontissa-it: Mahdollistaa vuorovaikutuksen kontin terminaalin kanssamongodb-container: Määritetyn MongoDB-kontin nimimongo: Käynnistää MongoDB-komentotulkin
Kun olet suorittanut tämän komennon, MongoDB-komentotulkki pitäisi olla valmiina ottamaan vastaan komentoja. Voit nyt kirjoittaa tavallisia MongoDB-komentoja tietokannan hallitsemiseksi tai kyselyjen tekemiseksi.
Vaihe 5: Suorita komentoja MongoDB-komentorivillä
Voit nyt näyttää kaikki MongoDB-palvelimella olevat tietokannat seuraavasti:
show databasesbashTulostuksessa näkyvät tietokantojen nimet:
admin 0.000GB
local 0.000GB
test 0.000GBbashJos haluat käyttää tiettyä tietokantaa MongoDB-komentorivillä, käytä seuraavaa komentoa:
use mydatabasebashSiirry seuraavalla komennolla tietokantaan nimeltä ”mydatabase”. Jos tietokantaa ei ole olemassa, se luodaan automaattisesti, kun asiakirja lisätään.
Voit myös hakea asiakirjoja tietystä kokoelmasta:
db.users.find()bashMongoDB-komentotulkki palauttaa kaikki dokumentit, jotka on tallennettu ”users”-kokoelmaan.
{ "_id": ObjectId("609823e9f9a5f7f364fc3f90"), "username": "alice", "age": 28 }
{ "_id": ObjectId("609823f2f9a5f7f364fc3f91"), "username": "bob", "age": 32 }
{ "_id": ObjectId("609823f9f9a5f7f364fc3f92"), "username": "charlie", "age": 25 }bsonJokaisessa asiakirjassa on yksilöllinen _id (MongoDB-kohtainen tunniste) sekä muita kenttiä, kuten username ja age.
Löydät oppaastamme lisätietoja Docker-työkaluista sekä MongoDB-esittelyn, jossa verrataan sitä MySQL:ään.