Docker运行MongoDB
MongoDB是NoSQL类型的数据库。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。
拉取镜像
docker pull mongodb/mongodb-community-server
配置文件
创建文件/mnt/mongodb/mongo.conf
systemLog:
destination: file
path: /var/log/mongodb/mongod.log
logAppend: true
storage:
dbPath: /data/db
net:
port: 27017
bindIp: 0.0.0.0
security:
authorization: enabled
systemLog 写入日志文件的地址是容器中的路径
storage 数据库目录是容器中的路径
net 指定容器mongodb启动监听27017端口, 0.0.0.0 是为了让宿主机可以访问容器的mongodb服务
security 开启账号密码登录验证方式
运行镜像
docker run --name mongodb -p 27017:27017 -e TZ=Asia/Shanghai -v /mnt/mongodb/mongo.conf:/etc/conf/mongo.conf -v /data/mongodb:/data -d mongodb/mongodb-community-server:latest -f /etc/conf/mongo.conf
新增账号
docker exec -it mongo mongosh
切换的admin
test>use admin
switched to db admin admin>db.createUser({user:"账号",pwd:"密码",roles:["root"]})
{ ok: 1 }
验证账号
admin> db.auth("账号","密码")
{ ok: 1 }
0