Docker常用的命令
创建容器命令: docker run
-i 表示运行容器
-t 表示容器启动后会进入其命令行,加入这个参数后,容器创建就能登陆进去。
--name 为容器创建名称
-v 表示目录映射关系(宿主机目录:映射到宿主机上的目录)可以使用多个-v多个目录映射,最好做好 目录映射,然后共享到容器上
-d run之后后台运行
-p 表示端口的映射(宿主端口:容器内映射端口)可以使用多个-p做多个端口映射
进入容器命令
docker exec -it 容器id
Dcoker种安装MongoDB
$ docker pull mongo:latest #取最新版的 MongoDB 镜像
运行安装命令(安装mongoDB容器)
docker run --name mongodb -p 27017:27017 -d mongo --auth
角色功能
Read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root:只在admin数据库中可用。超级账号,超级权限
为mongoDB添加管理员用户
docker exec -it 51a5b5e05fe4 mongo admin #51a5b5e05fe4 容器id
创建一个admin账号
db.createUser(
{
user: 'root', #这个root可以随便写
pwd: 'root',
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] #权限,role是userAdminAnyDatabase只在admin数据库中可用,赋予用户所有数据库的userAdmin权限员
}
);
退出
exit
为MongoDB添加管理员用户
进入MongoDB
docker exec -it 51a5b5e05fe4 mongo admin
创建一个admin账号
db.createUser({ user: 'root', pwd: 'root', roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] });
#然后退出
exit
创建普通用户 密码和数据库
#以 admin 用户身份进入mongo
docker exec -it 51a5b5e05fe4 mongo admin
#身份认证
db.auth("root","root");
#创建 用户、密码和数据库:
db.createUser({ user: 'zy', pwd: 'zy123456', roles: [ { role: "readWrite", db: "app" } ] });
#退出
exit
mongoDB基础知识
1.文档是MongoDB的核心概念
2、集合就是一组文档。如果将MongoDB中的一个文档比喻为关系型数据的一行,那么一个集合就是相当于一张表
3.数据库:在MongoDB中,多个文档组成集合,多个集合可以组成数据库
4、强调:把数据库名添加到集合名前,得到集合的完全限定名,即命名空间
例如:
如果要使用cms数据库中的blog.posts集合,这个集合的命名空间就是
cms.blog.posts。命名空间的长度不得超过121个字节,且在实际使用中应该小于100个字节
简单的命令
#查看所有数据库,可以使用 show dbs 命令
show dbs
#切换数据库命令 abs库名
use abs
#插入命令
db.abc.insert({"a":1,"b":2})