Docker部署MongoDB
# Docker部署MongoDB
# 拉取社区版镜像
docker pull mongodb/mongodb-community-server:latest
1
# 创建数据挂载卷
mkdir -p /opt/dockerAllHere/mongodb/data && chmod 777 /opt/dockerAllHere/mongodb/data && \
mkdir -p /opt/dockerAllHere/mongodb/configdb && chmod 777 /opt/dockerAllHere/mongodb/configdb
1
2
2
# 启动镜像
docker run -itd \
--restart always \
--name mongodb \
-p 27017:27017 \
-e MONGO_INITDB_ROOT_USERNAME=test -e MONGO_INITDB_ROOT_PASSWORD=Test@123 \
-v /opt/dockerAllHere/mongodb/data:/data/db \
mongodb/mongodb-community-server:latest
1
2
3
4
5
6
7
2
3
4
5
6
7
# 用户、数据库、权限赋予操作
# 进入容器
docker exec -it mongodb /bin/bash
1
# 容器内连接mongodb
mongosh -u test -p Test@123
1
# 创建账号
# 创建普通账号
# 1. 创建数据库springbootdb
use springbootdb
1
# 2. 真正创建数据库
db.test.insert({})
1
# 3. 在springbootdb
数据库中创建有权限操作的用户
db.createUser({user:"boot",pwd:"Boot@123",roles:[{role:"readWrite",db:"springbootdb"}]})
1
# (补充) 创建超级账号
use admin
1
db.createUser({user:"springboot",pwd:"Test@123",roles:[{role:"userAdminAnyDatabase",db:"admin"},{role:"readWriteAnyDatabase",db:"admin"}]})
1
userAdminAnyDatabase:只在admin数据库中可用,赋予对应用户所有数据库的userAdmin权限 readWriteAnyDatabase:只在admin数据库中可用,赋予对应用户所有数据库的读写权限
编辑 (opens new window)
上次更新: 2023/10/30, 10:01:25