MongoDB-Docker-kontteja on helppo monistaa ja skaalata. Jos tie­to­kan­nan kuormitus kasvaa, voit käyn­nis­tää lisää MongoDB-kontteja. Näin tie­to­kan­nan suo­ri­tus­ky­ky pysyy vakaana.

Toimiiko MongoDB Docker-kontissa?

MongoDB toimii te­hok­kaas­ti Docker-kontissa. Docker Hubissa on saa­ta­vil­la kahta erilaista MongoDB-kuvaa: Community Edition ja En­terpri­se Edition. Näiden kahden version välinen valinta riippuu käyttäjän eri­tyis­tar­peis­ta. Community Edition sopii yleensä parhaiten ei-kau­pal­li­seen käyttöön tai pie­nem­piin ko­koon­pa­noi­hin. En­terpri­se Edition puo­les­taan sisältää li­sä­omi­nai­suuk­sia ja tukea suu­rem­mil­le so­vel­luk­sil­le tai yri­tyk­sil­le, joilla on edis­ty­neem­piä tarpeita, kuten salaus, au­di­toin­ti ja LDAP-in­tegraa­tio.

Jos Docker Hubissa olevat valmiit MongoDB-kuvat eivät täysin vastaa tar­pei­ta­si, Dockerin avulla voit luoda mu­kau­te­tun Docker-kuvan Doc­ker­fi­le-tiedoston avulla. Doc­ker­fi­le-tiedoston avulla voit valita MongoDB-version, määrittää tiettyjä asetuksia (kuten to­den­nus­me­ne­tel­miä) ja asentaa ym­pä­ris­töö­si tar­vit­ta­via li­sä­työ­ka­lu­ja tai -ajureita.

MongoDB:n käyttö Docker-konttina vaihe vaiheelta

Docker tunnetaan kevyestä vir­tua­li­soin­nis­taan, joka mah­dol­lis­taa siir­ret­tä­vyy­den ja yh­den­mu­kai­suu­den eri kehitys- ja tuo­tan­to­ym­pä­ris­töis­sä. Seu­raa­vas­sa opastamme sinua vaihe vaiheelta MongoDB-konttien mää­rit­tä­mi­ses­sä Doc­ke­ris­sa. Aloit­te­li­joil­le suo­sit­te­lem­me tu­tus­tu­maan Docker-op­paa­seem­me: Asennus ja en­sim­mäi­set askeleet, joka tarjoaa yk­si­tyis­koh­tai­sen johdannon kont­tia­lus­taan.

Vaihe 1: Lataa MongoDB:n Docker-kuva

MongoDB-Docker-kontin luo­mi­sek­si haetaan ensin Docker Hubista sopiva kuva. Avaa ter­mi­naa­li tai ko­men­to­ri­vi ja suorita seuraava komento:

docker pull mongo:latest
bash

Jos kuva on jo tal­len­net­tu pai­kal­li­ses­ti, Docker ei lataa uutta versiota, ellet ni­men­omai­ses­ti määritä käy­tet­tä­vää versiota (esi­mer­kik­si mongo:4.4).

Vaihe 2: Käynnistä MongoDB-Docker-kontti

Kun MongoDB:n Docker-kuva on ladattu on­nis­tu­nees­ti, voit käyn­nis­tää tämän kuvan pohjalta kontin:

  • docker run: Käyn­nis­tää uuden Docker-kontin
  • --name mongodb-container: Nimeää kontin nimellä ”mongodb-container”
  • -d: Käytä tätä pa­ra­met­ria käyn­nis­tääk­se­si kontin taustalla (irrotettu tila). Tämä tar­koit­taa, että ter­mi­naa­lia voidaan edelleen käyttää kontin ollessa käynnissä
  • -p 27017:27017: Avaa kontin MongoDB-va­kio­por­tin 27017 isän­tä­jär­jes­tel­mäs­sä­si
  • mongo:latest: Antaa ohjeet uusimman saa­ta­vil­la olevan kuvan hank­ki­mi­sek­si

Vaihe 3: Tarkista, että kontti on käynnissä

Var­mis­taak­se­si, että kontti on käyn­nis­tet­ty on­nis­tu­nees­ti, kirjoita seuraava komento:

docker ps
bash

Nämä tiedot antavat nopean yleis­ku­van jär­jes­tel­mäs­sä­si käynnissä olevista MongoDB-Docker-kont­teis­ta, mukaan lukien niiden käyn­nis­sä­oloai­ka ja käyttämät portit. Jos haluat tarkempia tietoja, kuten py­säy­te­tyis­tä konteista tai tietyistä suo­da­tus­vaih­toeh­dois­ta, suo­sit­te­lem­me käyt­tä­mään docker ps -a.

Vaihe 4: Muodosta yhteys MongoDB:hen Docker-kontissa

Nyt voit muodostaa yhteyden Docker-kon­tis­sa­si olevaan MongoDB-ins­tans­siin. Voit tehdä tämän käyn­nis­tä­mäl­lä MongoDB-ko­men­to­tul­kin suoraan kontissa:

  • docker exec: Suorittaa komennon käynnissä olevassa kontissa
  • -it: Mah­dol­lis­taa vuo­ro­vai­ku­tuk­sen kontin ter­mi­naa­lin kanssa
  • mongodb-container: Mää­ri­te­tyn MongoDB-kontin nimi
  • mongo: Käyn­nis­tää MongoDB-ko­men­to­tul­kin

Kun olet suo­rit­ta­nut tämän komennon, MongoDB-ko­men­to­tulk­ki pitäisi olla valmiina ottamaan vastaan komentoja. Voit nyt kir­joit­taa ta­val­li­sia MongoDB-komentoja tie­to­kan­nan hal­lit­se­mi­sek­si tai kyselyjen te­ke­mi­sek­si.

Vaihe 5: Suorita komentoja MongoDB-ko­men­to­ri­vil­lä

Voit nyt näyttää kaikki MongoDB-pal­ve­li­mel­la olevat tie­to­kan­nat seu­raa­vas­ti:

show databases
bash

Tu­los­tuk­ses­sa näkyvät tie­to­kan­to­jen nimet:

admin   0.000GB
local      0.000GB
test       0.000GB
bash

Jos haluat käyttää tiettyä tie­to­kan­taa MongoDB-ko­men­to­ri­vil­lä, käytä seuraavaa komentoa:

use mydatabase
bash

Siirry seu­raa­val­la ko­men­nol­la tie­to­kan­taan nimeltä ”my­da­ta­ba­se”. Jos tie­to­kan­taa ei ole olemassa, se luodaan au­to­maat­ti­ses­ti, kun asiakirja lisätään.

Voit myös hakea asia­kir­jo­ja tietystä ko­koel­mas­ta:

db.users.find()
bash

MongoDB-ko­men­to­tulk­ki palauttaa kaikki do­ku­men­tit, jotka on tal­len­net­tu ”users”-ko­koel­maan.

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

Jo­kai­ses­sa asia­kir­jas­sa on yk­si­löl­li­nen _id (MongoDB-kohtainen tunniste) sekä muita kenttiä, kuten username ja age.

Löydät op­paas­tam­me li­sä­tie­to­ja Docker-työ­ka­luis­ta sekä MongoDB-esittelyn, jossa verrataan sitä MySQL:ään.

Siirry pää­va­lik­koon