如何更改用于身份验证和数据分离的官方mongo docker



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

如果一切都设置好了,我应该如何启动shell?没有用户名和密码的人有可能访问任何可用的数据库吗?我应该备份哪个目录?

编辑

显然,这还不够:

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

好吧,部分答案,因为我还没有处理docker-auth。

容器化存储是通过存储容器来完成的。这基本上是一个由令牌实例创建的容器,并分配了一些卷。

因此,对于弹性搜索(我知道它不是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状态。只需注意,如果您正在执行清理脚本,则不会删除它,因为与运行容器不同,您可以自由删除它…

最新更新