如何更改官方mongo docker进行身份验证和数据分离?

时间:2016-01-10 12:23:55

标签: mongodb docker

我想对官方MongoDB docker进行两项小改进,以便从启用--auth开始,并使用separate数据容器来存储数据。最好的方法是什么?

如果全部都已设置,我该如何启动shell?没有用户名和密码的人是否可以访问任何可用的数据库?我应该备份哪个目录?

修改

显然,这还不够:

docker run --name mymongoname1 -v /my/local/dir:/data/db -d -P mongo:latest

1 个答案:

答案 0 :(得分:0)

好的,所以部分回答,因为我没有用docker auth搞砸了。

使用存储容器完成容纳存储。这基本上是一个从令牌实例创建的容器,其中分配了一些卷。

因此对于elasticsearch(我知道不是mongo,但它至少是一个NoSQL数据库)我一直在使用:

 docker create -v /es_data:/es_data --name elasticsearch_data es-base /bin/true

然后:

docker run -d -p 9200:9200 --vols-from elasticsearch_data elasticsearch-2.1.0 

这会将容器卷连接到我的es容器 - 在此示例中,它通过主机卷,但实际上您不再需要,因为容器可以保存数据在docker文件系统中。 (然后我认为你也可以推动数据容器,但我还没有那么远!)

如果您运行ps -a,您将看到Created状态的数据容器。只是看看你是否正在做一个你不能删除它的清理脚本,因为与运行容器不同,你可以自由地删除它......