Úvod
MongoDB je praktické řešení databáze NoSQL. Nepoužívá pevnou datovou strukturu, takže je škálovatelný a ideální pro správu dynamických pracovních zátěží. MongoDB se dobře hodí pro distribuovaná prostředí, jako jsou kontejnery Docker.
Použití Dockeru a oficiální image kontejneru MongoDB může výrazně zkrátit a zjednodušit proces nasazení databáze.
Tento tutoriál vám ukáže, jak nasadit instanci MongoDB na kontejner Docker .

Předpoklady
- Uživatel s funkcí sudo privilegia
- Přístup k příkazovému řádku
- Spuštěná instance Docker
Stáhněte si obrázek MongoDB pro Docker
Postupujte podle podrobných pokynů níže a stáhněte si nejnovější oficiální obraz MongoDB pro Docker.
- Vaše služba Docker musí být aktivní a spuštěná. Aktuální stav můžete rychle zkontrolovat zadáním následujícího příkazu do terminálu:
sudo service docker status
V tomto příkladu je služba Docker aktivní a spuštěná.

- Pokračujte ve stažení nejnovější oficiální image Dockeru pro databázi MongoDB:
sudo docker pull mongo
Obrázek ukazuje, že systém použil latest
ve výchozím nastavení tag.

Chcete-li stáhnout konkrétní verzi MongoDB, použijte stejný příkaz připojený ke značce verze. Například:
sudo docker pull mongo:4.2.2
- Vypište obrázky ve svém úložišti Docker pomocí následujícího příkazu:
sudo docker images
Rozhraní potvrzuje, že obraz MongoDB je nyní k dispozici.

Nasazení kontejneru MongoDB
Ve výchozím nastavení MongoDB ukládá data do /data/db adresář v kontejneru Docker. Chcete-li to napravit, připojte adresář ze základního hostitelského systému do kontejneru, na kterém je spuštěna databáze MongoDB. Tímto způsobem jsou data uložena ve vašem hostitelském systému a nebudou vymazána, pokud instance kontejneru selže.
- Vytvořte /mongodata adresář v hostitelském systému:
sudo mkdir -p /mongodata
- Spusťte kontejner Docker pomocí
run
příkaz pomocí mongo obrázku. Soubor /data/db adresář v kontejneru je připojen jako /mongodata na hostiteli. Tento příkaz navíc změní název kontejneru na mongodb :
sudo docker run -it -v mongodata:/data/db --name mongodb -d mongo
-it
– Poskytuje interaktivní shell kontejneru Docker.

-v
– Tuto možnost použijte k připojení /mongodata hostitelský svazek do /data/db objem nádoby.
-d
– Spustí kontejner jako proces na pozadí.
--name
– Název kontejneru.
- Jakmile se server MongoDB spustí v kontejneru, zkontrolujte stav zadáním:
sudo docker ps
Výchozí číslo portu je 27017, jak je vidět na výstupu.

- Volitelně můžete specifikovat port MongoDB explicitně:
sudo docker run -it -v mongodata:/data/db -p 27017:27017 --name mongodb -d mongo
- Po provedení změn vždy zkontrolujte protokol Docker, abyste viděli řetězec událostí:
sudo docker logs mongodb
Protokoly poskytují množství užitečných informací.

Spusťte interaktivní terminál Docker (Bash Shell) pro správu databáze MongoDB
- Kontejner je aktuálně spuštěn v odpojeném režimu . Místo toho se ke kontejneru připojte pomocí interaktivního terminálu:
sudo docker exec -it mongodb bash
- Spusťte prostředí MongoDB zadáním
mongo
v interaktivním terminálu.

Spustí se shell MongoDB a výzva je připravena přijmout vaše příkazy.
- Místo psaní
mongo
, můžete dodatečně definovat konkrétního hostitele a port zadáním:
mongo -host localhost -port 27017
Pomocí prostředí MongoDB nyní můžete vytvářet databázi, přidávat kolekce nebo spravovat jednotlivé dokumenty.
Jak ukončit MongoDB a Interactive Shell
Zadejte exit
opustit prostředí MongoDB a poté exit
ještě jednou, abyste opustili interaktivní shell.

Alternativně můžete zadat quit()
nebo použijte Ctrl-C pro opuštění shellu.
Zastavení a restartování databáze MongoDB
docker stop
command je krátký a jasný příkaz, který zastavuje spouštění instancí kontejneru:
sudo docker stop mongodb
Prohlédněte si seznam spuštěných kontejnerů Docker zadáním:
sudo docker ps
Kontejnery se spouští pomocí docker start
příkaz:
sudo docker start mongodb
Seznam spuštěných kontejnerů nyní potvrzuje, že databáze MongoDB byla znovu spuštěna:
sudo docker ps
