Docker 部署 MongoDB 并用 IDEA 远程连接 MongoDB
1. 部署 MongoDB
# 拉镜像
docker pull mongo;
# 创建 容器
# docker run -d -it -p 27017:27017 --name springCloud_mongo mongo;
# 加上 --auth 需要认证
docker run -d -it -p 27017:27017 --name springCloud_mongo mongo --auth;
# 进入容器
docker exec -it springCloud_mongo /bin/bash;
2. 设置密码
# 进入容器后执行
mongo;
设置用户:
admin
; 密码:MongoDB
;
role: ‘userAdminAnyDatabase’ 代表该用户可以使用任何数据库.
mongo;
use admin;
db.createUser({
user: 'admin',
pwd: 'MongoDB',
roles:[{
role: 'userAdminAnyDatabase',
db: 'admin'
}]
});
尝试使用上面创建的用户信息进行连接. 成功后退出
db.auth('admin', 'MongoDB');
exit;
db.auth(‘admin’, ‘MongoDB’); 返回 1. 代表成功.
3. 创建普通用户, 密码和数据库
退出容器, 重新使用身份用户 admin 进入.
docker exec -it springCloud_mongo mongo admin;
验证身份
db.auth("admin","MongoDB");
创建数据库和文档, 添加数据.
db.auth("admin","MongoDB");
use spring_cloud;
db.spring_cloud.insert({name: 'MongoDB'});
创建用户, 密码和数据库.
db.createUser({
user: 'spring_cloud',
pwd: 'MongoDB',
roles:[{
role: 'readWrite',
db: 'spring_cloud'
}]
});
exit;
4. 设置配置文件
退出容器, 重新进入.
docker exec -it springCloud_mongo /bin/bash;
更新数据源, 安装 vim.
apt-get update;
apt-get install vim;
修改
/etc/mongod.conf.orig
文件.
vim /etc/mongod.conf.orig;
- 将 bindIp: 127.0.0.1 注释掉, 或者 改为 bindIp: 0.0.0.0, 就可以开启远程连接.
- 开启权限认证:
security:
authorization: enabled
缩进和其他的保持一致.
5. IDEA 进行远程连接
5.1 下载插件
安装完插件后重新启动就会在右侧有一个
Mongo Explorer
5.2 填写认证信息
按照照片提示进行
这个地方展示的数据和上边 “创建的数据库, 文档, 添加数据” 步骤中的数据不一样. 但无伤大雅.