Ú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í
runpří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
mongov 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