您的位置:首页 > 数据库 > Mongodb

Docke下安装MongoDB,配置用户名和密码

2019-06-13 19:27 441 查看

拉取镜像

docker pull mongo

运行MongoDB容器

docker run --name mongodb -p 27017:27017 -d mongo --auth

查看 mongo 进程

docker ps -a

然后就可以在Windows下启动MongoDB的客户端远程连接了

创建管理员admin 用户和密码

以 admin 用户身份进入mongo

docker exec -it  a7e5d4e4ca69  mongo admin

创建一个 admin 管理员账号

db.createUser({ user: 'admin', pwd: 'admin123456', roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] });

上述操作的记录详情如下:

root@iz2zei0x4t16rv0e5buzvhz tmp]# docker exec -it a7e5d4e4ca69 mongo adminMongoDB shell version v4.0.4
connecting to: mongodb://127.0.0.1:27017/admin
Implicit session: session { "id" : UUID("5bd17aa0-f8f6-454e-a1f3-6917d98336bc") }
MongoDB server version: 4.0.4
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
http://docs.mongodb.org/
Questions? Try the support group
http://groups.google.com/group/mongodb-user
> use admin
switched to db admin
> db.createUser({ user: 'admin', pwd: 'admin123456', roles: [ { role: "userAdminAnyDatabase", db
Successfully added user: {
"user" : "admin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
]
}
> exit

创建普通用户、密码和数据库

以 admin 用户身份进入mongo

docker exec -it a7e5d4e4ca69 mongo admin

对 admin 进行身份认证

db.auth("admin","admin123456");

创建 用户、密码和数据库

db.createUser({ user: 'swen', pwd: 'swen123456', roles: [ { role: "readWrite", db: "app" } ] });

退出

exit

上述操作记录如下:

[root@iz2zei0x4t16rv0e5buzvhz tmp]# docker exec -it a7e5d4e4ca69 mongo adminMongoDB shell version v4.0.4
connecting to: mongodb://127.0.0.1:27017/admin
Implicit session: session { "id" : UUID("592da935-824f-4593-b056-a381915c7205") }
MongoDB server version: 4.0.4
> db.auth("admin","admin123456");1
> db.createUser({ user: 'swen', pwd: 'swen123456', roles: [ { role: "readWrite", db: "app" } ] }
Successfully added user: {
"user" : "swen",
"roles" : [
{
"role" : "readWrite",
"db" : "app"
}
]
}
> exitbye
[root@iz2zei0x4t16rv0e5buzvhz tmp]

对MongoDB进行操作

以 admin 用户身份进入mongo

docker exec -it a7e5d4e4ca69 mongo admin

对 swen 进行身份认证

db.auth("swen","swen123456");

切换数据库(没有则会自动创建)

use app

创建collection添加数据

db.test.save({name:"zhangsan"});

上述操作记录如下

[root@iz2zei0x4t16rv0e5buzvhz tmp]# docker exec -it a7e5d4e4ca69 mongo adminMongoDB shell version v4.0.4
connecting to: mongodb://127.0.0.1:27017/admin
Implicit session: session { "id" : UUID("13f9c7bc-fc90-42b0-bfd8-a1a7a27aaee9") }
MongoDB server version: 4.0.4
> db.auth("swen","swen123456");1
> use appswitched to db app
> db.test.save({name:"zhangsan"});WriteResult({ "nInserted" : 1 })
> exitbye
[root@iz2zei0x4t16rv0e5buzvhz tmp]#

在windows下远程连接docker容器下的MongoDB

找到自己windows下MongoDB的安装目录下的bin文件输入cmd
输入:mongo Linux的IP地址
出现下图代表连接成功!就可以操作数据库了

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: