1、拉取

[root@Tseng-HW ~]# docker pull mongo:5.0
5.0: Pulling from library/mongo
7b1a6ab2e44d: Pull complete
90eb44ebc60b: Pull complete
5085b59f2efb: Pull complete
c7499923d022: Pull complete
019496b6c44a: Pull complete
c0df4f407f69: Pull complete
351daa315b6c: Pull complete
a233e6240acc: Pull complete
a3f57d6be64f: Pull complete
dd1b5b345323: Pull complete
Digest: sha256:5be752bc5f2ac4182252d0f15d74df080923aba39700905cb26d9f70f39e9702
Status: Downloaded newer image for mongo:5.0
docker.io/library/mongo:5.0
[root@Tseng-HW ~]# docker images
REPOSITORY                                    TAG       IMAGE ID       CREATED         SIZE
mongo                                         5.0       dfda7a2cf273   7 months ago    693MB
[root@Tseng-HW ~]#

2、创建数据目录

[root@Tseng-HW docker]# mkdir -p /opt/docker/mongdb/data
[root@Tseng-HW docker]#

3、运行容器命令

[root@Tseng-HW docker]# docker run -d --restart=always -p 20007:27017 --name mongodb -v /opt/docker/mongdb/data:/data/db -e MONGO_INITDB_ROOT_USERNAME=tsengadmin -e MONGO_INITDB_ROOT_PASSWORD=tseng#2022  -d mongo:5.0
9df69ade730bea3b73fba28e364da448f9f5d186150f99c2b3b69e14d6538bc5
[root@Tseng-HW docker]# docker ps
CONTAINER ID   IMAGE       COMMAND                  CREATED          STATUS          PORTS                                           NAMES
9df69ade730b   mongo:5.0   "docker-entrypoint.s…"   28 seconds ago   Up 27 seconds   0.0.0.0:20007->27017/tcp, :::20007->27017/tcp   mongodb

4、进入容器操作

[root@Tseng-HW docker]# docker exec -it 9df6 mongo
MongoDB shell version v5.0.5
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("ddc933b5-34c8-47bf-a517-0b27661f6b26") }
MongoDB server version: 5.0.5
================
Warning: the "mongo" shell has been superseded by "mongosh",
which delivers improved usability and compatibility.The "mongo" shell has been deprecated and will be removed in
an upcoming release.
For installation instructions, see
https://docs.mongodb.com/mongodb-shell/install/
================
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, seehttps://docs.mongodb.com/
Questions? Try the MongoDB Developer Community Forumshttps://community.mongodb.com
> use admin
switched to db admin
> db.auth("tsengadmin","tseng#2022");
1
> show users;
{"_id" : "admin.tsengadmin","userId" : UUID("ae877221-06e7-43a0-b4dd-7eddeaeafb75"),"user" : "tsengadmin","db" : "admin","roles" : [{"role" : "root","db" : "admin"}],"mechanisms" : ["SCRAM-SHA-1","SCRAM-SHA-256"]
}
> show dbs;
admin   0.000GB
config  0.000GB
local   0.000GB
>

5、创建新的库/表(先退出当前操作,重新进入)

> exit
bye
[root@Tseng-HW docker]# docker exec -it 9df6 mongo
MongoDB shell version v5.0.5
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("92b55e22-d634-4570-a663-fa524b4d00bc") }
MongoDB server version: 5.0.5
================
Warning: the "mongo" shell has been superseded by "mongosh",
which delivers improved usability and compatibility.The "mongo" shell has been deprecated and will be removed in
an upcoming release.
For installation instructions, see
https://docs.mongodb.com/mongodb-shell/install/
================
> use admin
switched to db admin
> db.auth("tsengadmin","tseng#2022");
1
> use tseng
switched to db tseng
> db.createUser({user:"tsengmongo",pwd:"Tseng@2022",roles:[{role: 'readWrite', db:'tseng'},{role: 'dbAdmin', db:'tseng'}]});
Successfully added user: {"user" : "tsengmongo","roles" : [{"role" : "dbAdmin","db" : "tseng"}]
}
> show users;
{"_id" : "tseng.tsengmongo","userId" : UUID("ed69eb0f-66c6-4e33-95d2-b68ab3a28b25"),"user" : "tsengmongo","db" : "tseng","roles" : [{"role" : "dbAdmin","db" : "tseng"}],"mechanisms" : ["SCRAM-SHA-1","SCRAM-SHA-256"]
}
> db.createCollection("tseng1");
{ "ok" : 1 }
> db.getCollectionNames();
[ "tseng1" ]
> db
tseng
> db.getName();
tseng
-- 删除用户
> db.dropUser("qcdpre");

6、开放端口、工具连接

7、修改子库/表 连接密码(使用管理员权限用户登录修改密码之后,退出容器,重新进入查库)

> use admin
switched to db admin
> db.auth("tsengadmin","tseng#2022");
1
> use tseng
switched to db tseng
> db.changeUserPassword("tsengmongo", "tseng*2022")
> use tseng
switched to db tseng
> db.auth("tsengmongo","tseng*2022");
1
> db.getCollectionNames();
uncaught exception: Error: listCollections failed: {"ok" : 0,"errmsg" : "logical sessions can't have multiple authenticated users (for more details see: https://docs.mongodb.com/manual/core/authentication/#authentication-methods)","code" : 13,"codeName" : "Unauthorized"
} :
_getErrorWithCode@src/mongo/shell/utils.js:25:13
DB.prototype._getCollectionInfosCommand@src/mongo/shell/db.js:718:15
DB.prototype._getCollectionNamesInternal@src/mongo/shell/db.js:790:12
DB.prototype.getCollectionNames@src/mongo/shell/db.js:799:12
@(shell):1:1
> exit
bye
[root@Tseng-HW docker]# docker exec -it 9df6 mongo
MongoDB shell version v5.0.5
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("cb916f25-5584-4e97-b432-14740e74d193") }
MongoDB server version: 5.0.5
================
Warning: the "mongo" shell has been superseded by "mongosh",
which delivers improved usability and compatibility.The "mongo" shell has been deprecated and will be removed in
an upcoming release.
For installation instructions, see
https://docs.mongodb.com/mongodb-shell/install/
================
> use tseng
switched to db tseng
> db.auth("tsengmongo","tseng*2022");
1
> db.getCollectionNames();
[ "tseng1" ]
>

8、数据库常用命令(操作集合\数据库)

help 帮助
db.help() 集合所有方法
db.stats() 集合当前状态信息
db 当前数据库
db.getName() 当前数据库
show dbs 所有数据库列表
use test 切换数据库
db.createCollection('tseng1') 数据库创建集合/表
db.getCollectionNames() 获取数据库所有集合/表
db.dropDatabase() 删除当前数据库
show tables 查看当前库中的表/集合
show collections 查看当前库中的表/集合
db.tseng1.drop() 删除mycollection集合

9、MongoDB的角色

超级用户角色 root
数据库用户角色 read、readWrite
数据库管理角色 dbAdmin、dbOwner、userAdmin
集群管理角色 clusterAdmin、clusterManager、4. clusterMonitor、hostManage
备份恢复角色 backup、restore
所有数据库角色 readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
内部角色 __system

10、MongoDB角色说明

root 只在admin数据库中可用。超级账号,超级权限
Read 允许用户读取指定数据库
readWrite 允许用户读写指定数据库
dbAdmin 允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin 允许用户向system.users集合写入,可以在指定数据库里创建、删除和管理用户
clusterAdmin 只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限
readAnyDatabase 只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase 只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase 只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase 只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限

11、db.stats

> db.stats()
{"db" : "qcd","collections" : 1,"views" : 0,"objects" : 4,"avgObjSize" : 4395.5,"dataSize" : 17582,"storageSize" : 20480,"indexes" : 1,"indexSize" : 20480,"totalSize" : 40960,"scaleFactor" : 1,"fsUsedSize" : 93222162432,"fsTotalSize" : 527370027008,"ok" : 1
}
> db.stats(1024)    # 单位kb
{"db" : "qcd","collections" : 1,"views" : 0,"objects" : 4,"avgObjSize" : 4395.5,"dataSize" : 17.169921875,"storageSize" : 20,"indexes" : 1,"indexSize" : 20,"totalSize" : 40,"scaleFactor" : 1024,"fsUsedSize" : 91068252,"fsTotalSize" : 515009792,"ok" : 1
}
> db.stats(1048576)    # 单位M
{"db" : "qcd","collections" : 1,"views" : 0,"objects" : 4,"avgObjSize" : 4395.5,"dataSize" : 0.016767501831054688,"storageSize" : 0.01953125,"indexes" : 1,"indexSize" : 0.01953125,"totalSize" : 0.0390625,"scaleFactor" : 1048576,"fsUsedSize" : 88939.921875,"fsTotalSize" : 502939.25,"ok" : 1
}
> 

dbStats.db                        数据库的名称。

dbStats.collections        数据库中的集合数。

dbStats.views                   数量

dbStats.objects               对象数量(具体而言,文件) 在所有集合的数据库中。

dbStats.avgObjSize          每个文档的平均大小(以字节为单位)。这是 dataSize除以文档的数量。这 尺度论据不影响 avgObjSize值。

dbStats.dataSize              数据库中保存的未压缩数据的总大小
dbStats.storageSize   分配给数据库中所有集合的空间总和 文档存储,包括可用空间。

dbStats.freeStorageSize  分配给数据库中所有集合的可用空间总和文档贮存。空闲数据库存储空间分配给集合但不包含数据。

freeStorageSize                  不包括分配给索引的可用空间。看indexFreeStorageSize为总的自由索引大小。将此值包含在dbStats输出,设置 免费存储为 1

dbStats.indexes      数据库中所有集合的索引总数。

dbStats.indexSize             分配给数据库中所有索引的空间总和,包括可用索引空间。

dbStats.indexFreeStorageSize 分配给数据库中所有索引的可用空间总和。空闲数据库存0.6 中更新。

dbStats.totalSize        为数据库中所有集合中的文档和索引分配的空间总和。包括已用和可用存储空间。这是总和storageSize和 indexSize.        4.4版中的新功能。

dbStats.scaleFactor   scale命令使用的值。如果您指定了非整数比例因子,MongoDB 将使用指定因子的整数部分。例如,如果您指定比例因子1023.999,MongoDB 将1023用作比例因子。4.2版中的新功能。

dbStats.fsUsedSize   MongoDB 存储数据的文件系统上正在使用的所有磁盘空间的总大小。

dbStats.fsTotalSize        MongoDB 存储数据的文件系统上所有磁盘容量的总大小。

Docker mongo:5.0相关推荐

  1. Docker 1.7.0 深度解析

    6月16日,Docker 1.7.0 发布,重磅炸弹在Docker圈引起巨大轰动,同时也为6月22日在旧金山举办的DockerCon大会献礼. show_meitu_1.jpg 早在Docker 1. ...

  2. docker安装mysql8,Docker安装Mysql8.0,并配置忽略大小写

    1.拉取镜像 //拉取mysql镜像 docker pull mysql//查看镜像 docker images 2.启动mysql $ docker run --name mysq.db -p 33 ...

  3. docker php 乱码,如何解决docker安装zabbix5.0界面乱码

    如何解决docker安装zabbix5.0界面乱码? zabbix图形界面乱码如下: 解决: docker部署zabbix-web和源码安装zabbix-web一样,字体都是存储在/usr/share ...

  4. docker Gitlab14.5.0 安装、配置、部署、使用

    文章目录 一.镜像容器 1. 安装Docker 2. 查找GitLab镜像 3. 拉取镜像 4. 创建容器 二.修改配置文件 2.1. gitlab.rb 2.2. 重启gitlab容器 2.3. 监 ...

  5. linux容器安卓下载,Docker 1.7.0 发布下载,Linux 容器引擎

    Docker 1.7.0 正式版发布下载,此版本主要更新信息如下: Runtime: Experimental feature: support for out-of-process volume p ...

  6. Docker安装Mysql8.0,并配置忽略大小写,一句命令搞定

    Docker安装Mysql8.0,并配置忽略大小写,一句命令搞定 docker run --name mysql8.db -p 3307:3306 -e MYSQL_ROOT_PASSWORD=Csd ...

  7. Google回应全球宕机:磁盘满了;摩拜App昨晚正式停止服务;Docker Desktop 3.0.0发布|极客头条...

    整理 | 郑丽媛 头图 | CSDN 下载自东方 IC 快来收听极客头条音频版吧,智能播报由出门问问「魔音工坊」提供技术支持. 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「 ...

  8. ​苏宁回应股权质押给淘宝:正常合作;苹果App Store被越狱商店指控垄断;Docker 20.10.0发布|极客日报...

    整理 | 郑丽媛 头图 | CSDN 下载自东方 IC 快来收听极客头条音频版吧,智能播报由出门问问「魔音工坊」提供技术支持. 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「 ...

  9. docker 安装mysql8.0并且暴漏外部的连接

    此处是docker安装mysql8.0版本的数据库方法 配置指令 docker run 这里的密码也要改为 MYSQL_ROOT_PASSWORD=123456; CREATE USER 'oyp'@ ...

最新文章

  1. mysql 备库 hang住_mysql主键的缺少导致备库hang住
  2. 10_java之继承和抽象类
  3. QT乱码总结4.细谈本地编码
  4. GCD简介三:Dispatch Sources
  5. 【leetcode】Majority Element
  6. 毁前的圆明园竟然这么美
  7. python魔法属性_python魔法方法-属性转换和类的表示详解
  8. 示波器的使用和二极管充放电过程
  9. JSP——在JSP中嵌入java代码
  10. 【GAN】Mode Collapse 和 Mode Dropping 问题定义
  11. 软件性能测试的几种方法
  12. 如何在安装 Enscape渲染器时禁用或启用弹出窗口
  13. 只有手机号或者身份证能查出来绑定QQ号码?大神请赐教
  14. python怎么制作游戏存档功能,如何在Python中创建目录的zip存档?
  15. STM32驱动W5500连接腾讯云
  16. 2020华为杯E题——基于灰色预测的大雾能见度预测模型(附代码)
  17. 火星文输入法?---互联网的主流与非主流
  18. 远程医疗诊断、便携传感智能设备引爆新体验
  19. 微信小程序——下拉刷新事件(onPullDownRefresh)
  20. 【小工具】自定义键盘快捷键切换音频播放设备、快速开关切换静音

热门文章

  1. Unity导入图片尺寸大小和压缩格式的问题
  2. 对 广义相对论 的 评价
  3. 浏览器控制台操作——随身笔记
  4. 经典音频MUTE电路分析
  5. Unity3d打地鼠
  6. 程序猿想平稳度过35岁中年危机?不妨试着考个研
  7. 滚动抽奖html怎么做的,抽奖.html
  8. 关于log4j:WARN No appenders could be found for logger (org.apache.hadoop.metrics2.lib.MutableMetricsFa
  9. Win10安装fliqlo时钟屏保教程
  10. 国内外计算机CPU差异,Intel 9代和10代CPU差别真的很大?配电脑看它选择不后悔