欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 锐评 > docker 安装mongodb

docker 安装mongodb

2025/2/22 2:14:15 来源:https://blog.csdn.net/qq_19891197/article/details/143722829  浏览:    关键词:docker 安装mongodb

docker 安装mongodb(5.0+)

拉取mongodb镜像

docker pull mongo

运行容器

docker run -d --name mongodb -v /mycontainers/mongodb/data:/data/db -p 27017:27017  mongo --auth

^: -d : 指定后台运行
^: --name mongodb :设置容器名
^: -v /mycontainers/mongodb/data:/data/db :挂载目录,前面的是宿主机的目录,后面的是容器中的目录
^: -p 27017:27017 :端口映射,前面的宿主机的端口,后面是容器开启端口
^: --auth : 指定需要用户密码验证

进入mongo容器

docker exec -it mongodb mongosh admin

^: mongosh: MongoDB 5.0 及以上版本使用mongosh进入mongo容器,之前版本使用mongo进入mongo容器
^: admin :数据库,进入时可指定也可不指定,不知道进入容器默认进入test数据库,初次进入新建的mongo容器,需要新进入admin数据库创建管理员账号并登录,之后可以进入自己创建的数据库并登录

创建管理员账号

db.createUser({user:'admin',pwd:'admin.123',roles:[{ role:'userAdminAnyDatabase', db:'admin'},'readWriteAnyDatabase']});

登录管理员账号

db.auth("admin","admin.123");
db.auth("master","master.123");
db.auth("slave","slave.123");

创建并进入新数据库

use station;
use new_master;
use new_slave;
use new_slave_wind;
use new_slave_pv;

创建普通账号

db.createUser({ user:'admin',pwd:'admin.123',roles:[ { role:'readWrite', db: 'station'}]});db.createUser({user:'master',pwd:'master.123',roles:[ { role:'readWrite', db: 'new_master'}]});db.createUser({ user:'slave',pwd:'slave.123',roles:[ { role:'readWrite', db: 'new_slave'}]});db.createUser({ user:'slave',pwd:'slave.123',roles:[ { role:'readWrite', db: 'new_slave_wind'}]});db.createUser({ user:'slave',pwd:'slave.123',roles:[ { role:'readWrite', db: 'new_slave_pv'}]});

登录普通账号

db.auth("admin","admin.123");
db.auth("master","master.123");
db.auth("slave","slave.123");

创建集合

db.createCollection("tt_message");db.createCollection("tt_offline");
db.createCollection("tt_not_in_table");
db.createCollection("tt_point_indicator");

查看集合

show collections;

查询文档数量

db.collectionName.count()
db.collectionName..countDocuments()
eg:
db.tt_offline.count()
db.tt_offline.countDocuments()

docker-compose启动容器

docker-compose.yml配置

version: "3.0"
services:mongodb:image: mongo:latestcontainer_name: mongodbrestart: alwaysports:- 27017:27017volumes:- /etc/localtime:/etc/localtime:ro- /data/mycontainers/mongodb/data:/data/db
#      - /data/mycontainers/data/configdb/mongod.conf:/etc/mongod.confenvironment:- MONGO_INITDB_ROOT_USERNAME=root- MONGO_INITDB_ROOT_PASSWORD=root123- MONGODB_AUTH=yesnetwork_mode: host

^: - MONGO_INITDB_ROOT_USERNAME=root
^: - MONGO_INITDB_ROOT_PASSWORD=root123 直接设置管理员账号
^: - MONGODB_AUTH=yes 指定需要用户密码验证

进入mongo容器

docker exec -it mongodb mongosh admin

登录管理员账号

db.auth("admin","admin.123");

创建并进入新数据库(操作同上)

创建普通账号(同上)

登录普通账号(同上)

创建集合(同上)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词