如何在容器重启之间持久化MongoDB数据?
使用docker运行MongoDB容器非常容易。 虽然每次启动一个新的MongoDB容器时,都会得到新的空数据库。
我应该怎么做才能保持容器重启之间的数据库内容? 我试图使用-v选项绑定外部目录到容器,但没有任何成功。
我尝试使用ehazlett/mongodb
图像,它工作正常。
通过这个图像,你可以很容易地指定mongo用DATA_DIR envvariables存储数据的地方。 我相信,改变你的形象也不是很难。
这是我做的:
mkdir test; docker run -v `pwd`/test:/tmp/mongo -e DATA_DIR=/tmp/mongo ehazlett/mongodb
请注意-v
的`pwd`
,因为服务器和客户端可能有不同的path,所以指定绝对path很重要。
使用这个命令,我可以在任意时间运行mongo,并且数据库将始终存储在我刚刚创build的./test
目录中。
- 正确的方法来删除OpenShift Origin上的未使用的docker图像
- 在gitlab ci中拒绝访问资源
- Docker推到谷歌registry的速度令人难以置信
- Google云端容器:从Dockerfile创build一个docker容器
- 如何创build一个没有TLS的docker机主机
- exec();(docker java api version 0.10.4)无法反序列化int的实例超出VALUE_FALSE标记,而readngdocker信息client.infoCmd()
- 如何使用docker-compose启动Postgres时设置PGOPTIONS
- Docker和Julia – 如何让.jl文件在容器中运行
- Docker和Zeppelin操作系统的特权