Hur man kör MongoDB via en Docker-container
MongoDB Docker-containrar är lätta att replikera och skala. Om belastningen på databasen ökar kan du starta ytterligare MongoDB-containrar. Detta håller databasens prestanda stabil.
Körs MongoDB i en Docker-container?
MongoDB kan köras effektivt i en Docker-container. Det finns två typer av MongoDB-bilder på Docker Hub: Community Edition och Enterprise Edition. Valet mellan dessa två versioner beror på dina specifika behov. Community Edition är vanligtvis idealisk för icke-kommersiellt bruk eller mindre installationer. Enterprise Edition innehåller dock extra funktioner och support för större applikationer eller företag med avancerade behov som kryptering, granskning och LDAP-integration.
Om de förkonfigurerade MongoDB-bilderna på Docker Hub inte helt uppfyller dina behov kan du med Docker skapa en anpassad Docker-bild med hjälp av en Dockerfile. Med en Dockerfile kan du välja MongoDB-version, konfigurera specifika alternativ (som autentiseringsmetoder) och installera ytterligare verktyg eller drivrutiner som behövs för din miljö.
Hur man använder MongoDB som en Docker-container steg för steg
Docker är känt för sin lätta virtualisering, som möjliggör portabilitet och konsistens mellan olika utvecklings- och produktionsmiljöer. Nedan guidar vi dig steg för steg genom hur du konfigurerar MongoDB-containrar i Docker. För nybörjare rekommenderar vi att du läser vår Docker-handledning: Installation och första stegen, som ger en detaljerad introduktion till containerplattformen.
Steg 1: Ladda ner MongoDB Docker-bild
För att skapa en MongoDB Docker-container skaffar vi först den bild som behövs för att köra Docker Hub. Öppna terminalen eller kommandoraden och kör följande kommando:
docker pull mongo:latestbashOm bilden redan finns lokalt kommer Docker inte att ladda ner en ny version om du inte specifikt anger vilken version du vill använda (till exempel mongo:4.4).
Steg 2: Starta MongoDB Docker-containern
När Docker-bilden för MongoDB har laddats ner kan du starta en container baserad på denna bild:
docker run: Startar en ny Docker-container--name mongodb-container: Namnger containern ”mongodb-container”-d: Använd denna parameter för att starta containern i bakgrunden (fritt läge). Detta innebär att terminalen fortfarande kan användas medan containern körs-p 27017:27017: Öppnar MongoDB:s standardport 27017 för containern på ditt värdsystemmongo:latest: Ger instruktionen att hämta den senaste tillgängliga bilden
Steg 3: Kontrollera att behållaren är igång
För att säkerställa att containern har startats korrekt, ange följande kommando:
docker psbashDenna information ger en snabb översikt över de aktiva MongoDB Docker-containrarna på ditt system, inklusive hur länge de har varit igång och vilka portar de använder. För mer detaljer, såsom stoppade containrar eller specifika filtreringsalternativ, rekommenderas det att använda kommandot docker ps -a.
Steg 4: Upprätta en anslutning till MongoDB i Docker-containern
Nu kan du upprätta en anslutning till MongoDB-instansen i din Docker-container. För att göra detta startar du MongoDB Shell direkt i containern:
docker exec: Kör ett kommando i den aktiva containern-it: Tillåter interaktion med terminalen i containernmongodb-container: Namnet på den konfigurerade MongoDB-containernmongo: Startar MongoDB-skalet
När du har utfört det här kommandot bör du se MongoDB-skalet redo att ta emot kommandon. Du kan nu ange de vanliga MongoDB-kommandona för att hantera eller söka i din databas.
Steg 5: Utför operationer i MongoDB-skalet
Du kan nu visa alla befintliga databaser på MongoDB-servern på följande sätt:
show databasesbashUtmatningen innehåller namnen på databaserna:
admin 0.000GB
local 0.000GB
test 0.000GBbashFör att arbeta med en specifik databas i MongoDB-skalet använder du följande kommando:
use mydatabasebashAnvänd följande kommando för att växla till databasen med namnet “mydatabase”. Om databasen inte finns skapas den automatiskt när ett dokument infogas.
Du kan också hämta dokument från en specifik samling:
db.users.find()bashMongoDB-skalet returnerar alla dokument som är lagrade i samlingen “users”.
{ "_id": ObjectId("609823e9f9a5f7f364fc3f90"), "username": "alice", "age": 28 }
{ "_id": ObjectId("609823f2f9a5f7f364fc3f91"), "username": "bob", "age": 32 }
{ "_id": ObjectId("609823f9f9a5f7f364fc3f92"), "username": "charlie", "age": 25 }bsonVarje dokument innehåller ett unikt _id ält (MongoDB-specifik identifierare) och andra fält såsom username och age.
Mer information om Docker-verktyg och en presentation av MongoDB, inklusive en jämförelse med MySQL, finns i vår guide.

