docker搭建mongodb
查找并拉取镜像
docker search mongo docker-tags --images mongo --nums 10 docker pull mongo:latest
创建网络,固定ip
docker network create --driver=bridge --subnet=172.18.12.0/24 mongodbnet docker network ls docker network inspect mongodbnet
创建 volume
docker volume create mongo-data docker volume create mongo-cluster docker volume ls
创建容器
docker run -id --name=mongodb -v mongo-data:/data/db -v mongo-cluster:/data/configdb -p 27017:27017 -e LANG=C.UTF-8 --network=mongodbnet --ip 172.18.12.5 mongo --auth
进入容器
docker exec -it mongodb bash
容器内修改配置,允许任何ip连接
vim /etc/mongod.conf.orig # bindIp: 0.0.0.0
创建超级用户+普通用用户
具体分成两步:mongosh
创建管理员用户:
use admin db.createUser( { user:"root", pwd:"123456", roles:[{role:"root",db:"admin"}] } )
创建数据库:
创建数据库用户:use stocklist db.createUser( { user: "frank", pwd: "123456", roles: ["readWrite"] } )
查看用户信息:
db.auth("root","123456") db.getUsers()
创建读写全部数据库的用户:
db.createUser({ user: "manman", pwd: "123456", roles: [ { role: "readWriteAnyDatabase", db: "admin" } ] })
使用mongdodb-compass连接
mongodb://frank:123456@172.18.12.5:27017/stocklist
docker设置不使用sudo
查看docker分组是否存在
cat /etc/group | grep docker
将用户添加到docker分组
sudo usermod -aG docker your_username
mongodb常用命令
更改密码
use stock db.changeUserPassword("frank","frank")
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。