Merge branch 'master' of github.com:heibaiying/Full-Stack-Notes

This commit is contained in:
q
2020-04-14 15:33:24 +08:00
4 changed files with 178 additions and 57 deletions

View File

@ -17,7 +17,7 @@ Docker 使用 Go 语言进行开发,基于 Linux 内核的 cgroupnamespace
- **runc** :是一个 Linux 命令行工具,用于根据 [OCI容器运行时规范](https://github.com/opencontainers/runtime-spec) 创建和运行容器。
- **containerd** :是一个守护程序,它管理容器生命周期,提供了在一个节点上执行容器和管理镜像的最小功能集。
下图体现了 Docker 和传统虚拟化方式的不同之处:传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上运行所需应用进程;而 Docker 容器内的应用进程则是直接运行于宿主的内核,容器没有自己的内核,而且也没有进行硬件虚拟,因此要比传统虚拟机更为轻便。
下图体现了 Docker 和传统虚拟化方式的差异:传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,之后可以在该系统上运行所需应用进程;而 Docker 容器内的应用进程则是直接运行于宿主的内核,容器没有自己的内核,也没有进行硬件虚拟,因此要比传统虚拟机更为轻便。
<div align="center"> <img src="../pictures/docker与虚拟机.png"/> </div>
@ -101,7 +101,7 @@ run 是 docker 中最为核心的一个命令,用于新建并启动容器,
+ **-i** :表示使用交互模式,始终保持输入流开放;
+ **-t** :表示分配一个伪终端,通常和 `-i` 结合使用,表示使用伪终端与容器进行交互;
+ **-d** :以后台方式运行容器;
+ **--name** :指定容器启动容器的名字,如果不指定,则由 docker 随机分配;
+ **--name** :指定启动容器的名字,如果不指定,则由 docker 随机分配;
+ **-c** :用于给运行在容器中的所有进程分配 CPU 的 shares 值,这是一个相对权重,实际的处理速度与宿主机的 CPU 相关;
+ **-m** :用于限制为容器中所有进程分配的内存总量,以 B、K、M、G 为单位;
+ **-v** :挂载数据卷 volume可以用多个 `-v` 参数同时挂载多个 volume。volume 的格式为:`[host-dir]:[container-dir]:[rw:ro]` `[rw:ro]` 用于指定数据卷的模式,`rw` 代表读写模式,`ro` 代表只读模式。

View File

@ -33,7 +33,7 @@
| Undefined | “undefined” | 该数据类型已经废弃 |
| ObjectId | “objectId” | 对象 id |
| Boolean | “bool” | 布尔值 |
| Date | “date” | 日类型 |
| Date | “date” | 日类型 |
| Null | “null” | 空 |
| Regular Expression | “regex” | 正则表达式 |
| DBPointer | “dbPointer” | 该数据类型已经废弃 |
@ -348,4 +348,4 @@ db.user.deleteOne(
+ 官方文档:[MongoDB CRUD Operations](https://docs.mongodb.com/manual/crud/)
+ Kristina Chodorow . MongoDB权威指南第2版. 人民邮件出版社 . 2014-01
+ Kristina Chodorow . MongoDB权威指南第2版. 人民邮件出版社 . 2014-01

View File

@ -221,7 +221,7 @@ InnoDB 存储引擎支持以下两种标准的行级锁:
基于多版本并发控制和一致性非锁定读,可以避免获取锁的等待,从而提高并发访问下的性能。
**2. 一致性锁定**
**2. 一致性锁定**
一致性锁定读则允许用户按照自己的需求在进行 SELECT 操作时手动加锁,通常有以下两种方式: