GNU/Linux >> Znalost Linux >  >> Panels >> Docker

Nastavte MongoDB na Docker

MongoDB je open-source NoSQL databáze využívající dokumenty a schémata typu JSON, které podporují rychlý iterativní vývoj. Jeho škálovatelná architektura je oblíbená u vývojářů aplikací, kteří používají agilní metodiky k rychlému pohybu. Jelikož je MongoDB v agilní komunitě populární, je používání MongoDB s Dockerem vynikajícím přístupem pro nepřetržitou integraci a vývoj (CI/CD).

Než začnete

Chcete-li dokončit příklady v této příručce, nejprve nastavte a zabezpečte Linode s nainstalovaným Dockerem. Můžete toho dosáhnout pomocí aplikace Docker Marketplace nebo ruční instalací. Pokyny pro oba přístupy jsou uvedeny níže.

Tato příručka předpokládá, že jste spokojeni s rozhraním příkazového řádku (CLI) na unixovém systému a jeho použití pro práci s programy.

Nastavit Linode pomocí Dockeru

Aplikace Docker Marketplace

Pomocí aplikace Docker Marketplace můžete rychle nastavit bezpečný a aktualizovaný Linode. Pokyny najdete v naší příručce Jak nasadit Docker s aplikacemi Marketplace. Pro účely této příručky doporučujeme nasadit aplikaci Docker Marketplace s možnostmi Docker:

  • Omezený uživatel sudo, který má být vytvořen pro Linode
  • Heslo pro omezeného uživatele sudo
  • Omezený veřejný klíč uživatele sudo SSH, který bude použit pro přístup k Linode
  • Zakázat přístup root přes SSH? (ano)

Ruční instalace

  1. Seznamte se s naším průvodcem Začínáme a dokončete kroky pro aktualizaci vašeho Linode.

  2. Dokončete části našeho Zabezpečení serveru a vytvořte standardní uživatelský účet, zpevněte přístup SSH a odstraňte nepotřebné síťové služby.

  3. Nainstalujte Docker na svůj Linode podle kroků v naší příručce Jak nainstalovat a používat Docker na Ubuntu a Debianu.

Ověřte instalaci Dockeru

Ověřte, zda je na vašem Linode nainstalován Docker:

docker --version

Můžete očekávat výstup podobný následujícímu:

Docker version 20.10.8, build 3967b7d
Poznámka

Tato příručka je napsána pro uživatele bez oprávnění root. Příkazy, které vyžadují zvýšená oprávnění, mají předponu sudo . Pokud neznáte sudo příkaz, navštivte naši příručku pro uživatele a skupiny.

Všechny konfigurační soubory by měly být upravovány se zvýšenými oprávněními. Nezapomeňte zahrnout sudo před spuštěním textového editoru.

Jak nainstalovat MongoDB Docker Container

Docker velmi usnadňuje vytváření obrazu MongoDB, protože udržuje oficiálně udržovanou verzi v Docker Hub. Instalace:

  1. Stáhněte a nainstalujte obraz MongoDB z Docker Hub:

    sudo docker pull mongo
    

    Výstup při stahování obrázků by měl vypadat takto:

    Using default tag: latest
    latest: Pulling from library/mongo
    16ec32c2132b: Pull complete
    6335cf672677: Pull complete
    cbc70ccc8ebe: Pull complete
    0d1a3c6bd417: Pull complete
    960f3b9b27d3: Pull complete
    aff995a136b4: Pull complete
    4249be7550a8: Pull complete
    cc105ff5aa3c: Pull complete
    82819807d07a: Pull complete
    81447d2c233f: Pull complete
    Digest: sha256:54d24682d00278f64bf21ff62b7ee62b59dae50f65139831a884b345922b0f8a
    Status: Downloaded newer image for mongo:latest
    docker.io/library/mongo:latest
    Poznámka Tento příkaz ve výchozím nastavení stáhne nejnovější verzi (jak je uvedeno na prvním řádku výstupu). Chcete-li stáhnout konkrétní verzi, přidejte do příkazu značku pro tuto verzi. Chcete-li například nainstalovat MongoDB 4.4.6, zadejte docker pull mongo:4.4.6 .
  2. Ujistěte se, že byl obraz nainstalován:

    sudo docker images
    

    Výstup by měl vypadat takto:

    REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
    mongo        latest    07630e791de3   2 weeks ago   449MB
  3. Vytvořte kontejner pomocí mongo obraz v odděleném režimu, takže je stále interaktivní ve vašem systému:

    sudo docker run --name mongo_example -d mongo
    
  4. Ujistěte se, že kontejner běží:

    sudo docker ps
    

    Výstup by měl vypadat takto:

    CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS       NAMES
    1f88d00b9e78   mongo     "docker-entrypoint.s…"   4 seconds ago   Up 4 seconds   27017/tcp   mongo_example

MongoDB nyní běží jako Docker Container.

Jak se přihlásit do MongoDB v kontejneru

  1. Chcete-li získat výzvu bash v kontejneru, zadejte následující:

    sudo docker exec -it mongo_example bash
    
  2. Na příkazovém řádku kontejneru zadejte mongosh shell:

    mongosh
    

Z mongosh shell, můžete testovat dotazy a operace přímo s vaší databází.

Poznámka Starší mongo shell byl v MongoDB v5.0 zastaralý, ale je stále dostupný jako alternativa k mongosh .

Jak nakonfigurovat MongoDB v kontejneru Docker

Podrobnosti o konfiguraci MongoDB najdete v příručce MongoDB. Nicméně mongod Příznaky (primární démon MongoDB) jsou obvykle nastaveny pro konfiguraci MongoDB a docker run příkaz je navržen tak, aby předal mongod příznaky.

Chcete-li například skriptovací stroj vypnout, přidejte příznak na konec příkazu takto:

    sudo docker run --name mongo_example2 -d mongo --noscripting

Jako další příklad pro vypnutí skriptovacího jádra a zapnutí IPv6 zadejte následující:

    sudo docker run --name mongo_example3 -d mongo --noscripting --ipv6

Jak uložit data MongoDB z kontejneru Docker

Vzhledem k tomu, že MongoDB běží na kontejneru Docker Container, jeho data se po ukončení neuchová (jelikož ukládá data do adresáře /data/db v kontejneru samotném). Pokud potřebujete, aby data MongoDB zůstala zachována, musíte vytvořit a připojit Docker Volume nebo připojit adresář ze svého hostitelského systému.

Přidání svazku dockeru do kontejneru MongoDB

Vytváření a přidávání svazku pro kontejner k použití je jednoduché, pokud znáte Docker.

  1. Vytvořte ukotvitelný svazek pro data, na kterém budou uložena, zadáním následujícího:

    sudo docker volume create mongo_volume
    
  2. Poté vytvořte docker run příkaz k připojení svazku ke kontejneru a jeho mapování na /data/db adresář kontejneru zadáním:

    sudo docker run -it -v mongo_volume:/data/db --name mongo_example4 -d mongo
    

Připojení hostitelského systémového adresáře v kontejneru MongoDB Docker Container

Pokud chcete, aby data zůstala zachována a abyste k nim měli přístup mimo Docker, můžete použít adresář ve svém hostitelském systému.

Chcete-li připojit adresář hostitelského systému:

  1. Vytvořte adresář ve svém systému (pokud jej nemáte, který chcete použít) na kořenové úrovni systému zadáním:

    sudo mkdir -p /mongo_data_directory
    
  2. Poté spusťte docker run příkaz k připojení adresáře a jeho mapování na /data/db zadáním:

    sudo docker run -it -v /mongo_data_directory:/data/db --name mongo_example5 -d mongo
    

Další čtení

Naučit se používat MongoDB na Dockeru je zásadní pro pracovní postupy CI/CD a rychlý iterativní vývoj. Pokračování v některých informacích Docker'sMongoDB na Docker Hub je vynikajícím doplňkem tohoto článku.

Chcete-li se dozvědět více o mongod možnosti, které mají být předány při docker run , projděte si mongod Část Komponenty balíčku MongoDB v příručce MongoDB.

Pokud plánujete upgradovat na MongoDB Enterprise, pokyny naleznete v části Instalace MongoDB Enterprise pomocí Dockeru v příručce MongoDB mongod .

Další informace

Další informace o tomto tématu můžete získat v následujících zdrojích. Přestože jsou poskytovány v naději, že budou užitečné, vezměte prosím na vědomí, že nemůžeme ručit za přesnost nebo aktuálnost externě hostovaných materiálů.

  • MongoDB na Docker Hub

Docker
  1. Kompletní průvodce pro začátečníky k protokolování dockeru

  2. Kompletní průvodce k samohostování Rocket.Chat s Dockerem

  3. Jak nastavit vzdálený přístup k Docker Daemon

  1. Přístavní dělník

  2. Úvod do Dockeru

  3. Zastavit sadu replik MongoDB

  1. Jak nastavit a používat soukromý registr dockerů

  2. Výukový program MySQL Docker Container:Jak nastavit a nakonfigurovat

  3. Jak nasadit a spravovat MongoDB pomocí Dockeru