在docker下部署mongodb,并开启远程连接,设置用户信息,并使用studio3登陆后,可创建修改集合
1. 拉取镜像docker pull mongo:4.2这里我选择是4.2的版本2. 创建容器docker run --name mongodb -p 27017:27017 -v /mongo/data:/data/db -d mongo:4.2 --auth--auth:需要密码才能访问容器服务3. 启动容器之后,使用admin进入docker exec -it mong...
·
1. 拉取镜像
docker pull mongo:4.2
这里我选择是4.2的版本
2. 创建容器
docker run --name mongodb -p 27017:27017 -v /mongo/data:/data/db -d mongo:4.2 --auth
--auth:需要密码才能访问容器服务
3. 启动容器之后,使用admin进入
docker exec -it mongodb mongo admin
4. 创建管理员用户,并赋予权限
# 切换数据库
> use admin
# 创建一个名为 admin,密码为 123456 的用户。
> db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'}]});
# 尝试使用上面创建的用户信息进行连接。
> db.auth('admin', '123456')
# 退出
> exit
返回为1,代表验证成功
5.创建普通用户、密码和数据库
# 以 admin 用户身份进入mongo
docker exec -it mongodb mongo admin
# 对 admin 用户 进行身份认证
> db.auth("admin","123456");
# 创建 用户、密码和数据库:
> db.createUser({ user: 'user1', pwd: '123456', roles: [ { role: "readWrite", db: "app" } ] });
# 退出
> exit
6. 登录 APP 数据库,对数据库信息增删改查
# 以 admin 用户身份进入mongo
docker exec -it mongodb mongo admin
# 对 user1 用户 进行身份认证
> db.auth("user1","123456");
# 切换数据库:
> use app
# 添加数据
> db.test.save({name:"aaaa"});
# 退出
> exit
7.进入容器,设置配置文件
# 进入容器,注意此时不是以admin进入,也没有进入mongodb的shell
docker exec -it mongodb bash
#更新源
apt-get update
# 安装 vim
apt-get install vim
# 修改 mongo 配置文件
vim /etc/mongod.conf.orig
1.确保注释掉`# bindIp: 127.0.0.1` 或者改成`bindIp: 0.0.0.0` 即可开启远程连接
2.开启权限认证
security:
authorization: enabled #注意缩进,参照其他的值来改,若是缩进不对可能导致后面服务不能重启
8. 重启服务,进行远程连接
然后就连接成功了!
更多推荐
已为社区贡献1条内容
所有评论(0)