sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur man ställer in docker mongo datavolym

Försök att kontrollera docker-loggarna för att se vad som pågick när behållaren stannade och gå till "Existed"-läge.

Se även om det skulle hjälpa att ange den fullständiga sökvägen för volymen:

docker run -p 27017:27017 -v /home/<user>/data:/data/db  ...

OP lägger till:

docker logs mongo 
exception in initAndListen: 98 
Unable to create/open lock file: /data/db/mongod.lock 
errno:13 Permission denied 
Is a mongod instance already running?
terminating 2016-02-15T06:19:17.638+0000 
I CONTROL [initandlisten] dbexit: rc: 100 

Ett errno:13 är vad nummer 30 handlar om.

Denna kommentar lägger till:

Det är ett filägande-/behörighetsproblem (ej relaterat till den här docker-bilden), antingen med boot2docker med VB eller en lösdrivarbox med VB.

Ändå lyckades jag hacka ägandet, återmontera /Users delade volymen inuti boot2docker till uid 999 och gid 999 (vilket är vad mongo docker image använder) och fick det att starta:

$ boot2docker ssh
$ sudo umount /Users
$ sudo mount -t vboxsf -o uid=999,gid=999 Users /Users

Men... mongod kraschar på grund av att filsystemstypen inte stöds (mmap fungerar inte på vboxsf)

Så den faktiska lösningen skulle vara att prova en DVC:Data Volume Container , för just nu nämner mongodb doc:

MongoDB kräver ett filsystem som stöder fsync() på kataloger.
Till exempel, HGFS och Virtual Boxs delade mappar stöder inte denna operation.

Så:

monteringen till OSX kommer inte att fungera för MongoDB på grund av hur virtualbox delade mappar fungerar.

För en DVC (Data Volume Container), försök docker volume create :

docker volume create mongodbdata

Använd det sedan som:

docker run -p 27017:27017 -v mongodbdata:/data/db  ...    

Och se om det fungerar bättre.

Som jag nämner i kommentarerna:

En docker volume inspect mongodbdata (se docker volume inspect ) ger dig sin väg (som du sedan kan säkerhetskopiera om du behöver)



  1. En checklista för utveckling och drift för MongoDB

  2. misslyckades med fel 10068:ogiltig operator:$oid

  3. Redis Memory Optimization Cheat Sheet

  4. mongodb aggregationssort