摘要
本文介绍了如何使用Docker部署mongodb服务器,并通过mongodb compass来连接使用,创建集合,让我们拿下它。
Docker搭建MongodDB服务器
docker pull mongo:latest
docker images
启动容器
docker run --name mongodb -d -p 27017:27017 -v /data/mongo/data:/data/db -v /data/mongo/logs:/var/log/mongodb -v /data/mongo/config/mongod.conf:/etc/mongod.conf -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=123456 --restart=always mongo
这一步嫌麻烦,可以直接使用docker compose完成,同时通过js初始化用户集合
name: mongodb
services:
mongodb:
container_name: mongodb
image: mongodb:latest
ports:
- "27017:27017"
environment:
- MONGO_INITDB_ROOT_USERNAME=admin
- MONGO_INITDB_ROOT_PASSWORD=123456
volumes:
- mongodb_data:/data/db
- mongodb_logs:/var/log/mongodb
- ./mongod.conf:/etc/mongod.conf #自定义MongoDB配置
- ./init-mongo.js:/docker-entrypoint-initdb.d/init-mongo.js#初始化数据库,启动时,会自动执行这个js文件
restart: always
networks:
- mongodb_net
#卷名声明
volumes:
#持久化数据和日志
mongodb_data:
mongodb_logs:
#网络声明
networks:
mongodb_net:
db.auth('admin', '123456');
db = db.getSiblingDB('mydatabase');
db.createCollection('users');
db.users.insertMany([
{ name: 'oakwang', email: 'oakwang@example.com' },
{ name: 'coffeebeans', email: 'coffeebeans@example.com' }
]);
print('初始化数据库用户');
进入内核bash
docker exec -it 505 /bin/mongosh
切换到admin库
use admin
使用创建容器时的用户名和密码
db.auth("admin","123456")
创建新用户oakwang
db.createUser(
{
user:"oakwang",
pwd:"123456",
roles:[{role:"root",db:"admin"}]
}
);
创建完成后,使用新用户连接
db.auth('oakwang','123456')
其他操作命令:
#更新用户权限
db.updateUser("oakwang",{roles:[{role:"readWrite",db:"admin"}]})
#更新用户密码
db.changeUserPassword("oakwang","123456")
#删除用户
db.dropUser({'oakwang'})
#查看所有用户
show users
工具连接mongodb
下载官方推荐的查询工具,也可以使用navicathttps://www.mongodb.com/try/download/atlascli
打开后的初始界面(静默安装,路径都不让选)
设置已安装好的mongodb地址
mongodb://oakwang:123456@192.168.233.129:27017/?authSource=admin
可查看系统默认的启动日志集合
创建一个集合,后续就可以增删改查了。
总结
以上我们使用Docker部署了一个mongodb服务器,并通过mongodb compass来连接使用,后续我们将讲述如何插入数据并使用常见的语句操作数据库,更高级地集成在spring项目中使用。
关注公众号:咖啡Beans
在这里,我们专注于软件技术的交流与成长,分享开发心得与笔记,涵盖编程、AI、资讯、面试等多个领域。无论是前沿科技的探索,还是实用技巧的总结,我们都致力于为大家呈现有价值的内容。期待与你共同进步,开启技术之旅。