我想对官方MongoDB docker进行两项小改进,以便从启用--auth
开始,并使用separate
数据容器来存储数据。最好的方法是什么?
如果全部都已设置,我该如何启动shell?没有用户名和密码的人是否可以访问任何可用的数据库?我应该备份哪个目录?
修改
显然,这还不够:
docker run --name mymongoname1 -v /my/local/dir:/data/db -d -P mongo:latest
答案 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
状态的数据容器。只是看看你是否正在做一个你不能删除它的清理脚本,因为与运行容器不同,你可以自由地删除它......