MongoDB
什么是MongoDB?
MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
https://zh.wikipedia.org/wiki/MongoDB
如何使用此镜像
运行MongoDB服务器
运行镜像并绑定到27017和28017端口:
docker run -d -p 27017:27017 -p 28017:28017 mongodb:2.6.12
运行容器的第一次,会随机生成一个新的密码,要获得密码,运行检查容器日志命令:
docker logs <CONTAINER_ID>
您将看到以下的输出:
======================================================================
You can now connect to this MongoDB server using:
mongo admin -u admin -p 5elsT6KtjrqV --host <host> --port <port>
Please remember to change the above password as soon as possible!
======================================================================
在这种情况下,5elsT6KtjrqV是密码组。然后,您可以连接到MongoDB的:
mongo admin -u admin -p 5elsT6KtjrqV
完成!
为管理员账户设置一个特定的密码
如果您想要使用预设的密码,而不是一个随机生成的密码,你可以在运行容器时环境变量设置MONGODB_PASS您的特定密码:
docker run -d -p 27017:27017 -p 28017:28017 -e MONGODB_PASS=mypass mongodb:2.6.12
您现在可以测试你的新的管理员密码:
mongo admin -u admin -p mypass
curl --user admin:mypass --digest http://localhost:28017/
没有密码执行MongoDB
如果你想,没有密码执行MongoDB,你可以在容器运行时设置环境变量AUTH
docker run -d -p 27017:27017 -p 28017:28017 -e AUTH=no mongodb:2.6.12
在默认情况下是”yes”。
设置特定用户:数据库
如果你想使用其他数据库与其他用户
docker run -d -p 27017:27017 -p 28017:28017 -e MONGODB_USER=user -e MONGODB_DATABASE=mydatabase -e MONGODB_PASS=mypass mongodb:2.6.12
您现在可以测试您的新的凭据:
mongo mydatabase -u user -p mypass