2013-08-27 62 views

回答

5

我試過使用ehazlett/mongodb圖片,它工作正常。

有了這張圖片,你可以很容易地指定mongo用DATA_DIR env變量存儲數據的位置。我相信它也不會太難改變你的形象。

這裏是我做過什麼:

mkdir test; docker run -v `pwd`/test:/tmp/mongo -e DATA_DIR=/tmp/mongo ehazlett/mongodb

通知`pwd`-v內,爲服務器和客戶端可能有不同的路徑,它以指定的絕對路徑是很重要的。

使用此命令,我可以根據需要運行mongo儘可能多的時間,並且數據庫將始終存儲在我剛剛創建的./test目錄中。

+0

這是我在Docker v0.5.x中爲MySQL/Postgres所用的方法。不確定1.0是否會有不同的解決方案。 – amattn

+1

非常感謝Guillaume!有效。對於像我這樣的Vagrant用戶來說,還有一點需要注意:不要將mongo目錄放在虛擬機的vagrant目錄中,mongo不能鎖定該目錄中的文件並立即退出。 –

+0

這是否可以在windows boot2docker上運行?我試過但是它返回一個錯誤ERROR:日誌文件的可用空間不足並且從未啓動 – Astronaut

相關問題