MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
1.拉取最新版的 MongoDB 镜像
docker pull mongo:latest
查看本地镜像
docker images
2.持久化运行容器
创建数据保存目录
mkidr -p /data/mongdata
运行容器
docker run -itd --name mongo -v /data/mongdata:/data/db -p 27017:27017 mongo --auth
参数说明:
- -itd 交互后台运行容器
- --name 自定义容器名称
- -v 挂载目录
- -p 27017:27017 容器服务的 27017 端口映射到宿主机的 端口 27017,那么外部可以通过 宿主机 IP:27017 访问容器内 mongo。
- 镜像名
- --auth 需要密码才能访问容器服务。
3.创建mongoDB账号
(1)进入容器
docker exec -it mongo mongosh admin
(2)执行mongdb语句, 创建mongoDB账号
db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]});
(3)使用创建账号进行测试连接
db.auth('admin', '123456')
4.访问容器数据库,使用navicat连接