Add blank lines around headers

This commit is contained in:
yeasy
2026-03-24 09:27:04 -07:00
parent 857e3b73f6
commit ae8636e96f
112 changed files with 468 additions and 0 deletions

View File

@@ -25,6 +25,7 @@ flowchart LR
H4 -. "(实际是宿主机的 1234" .- C1
```
### 12.2.2 Namespace 的类型
Linux 内核提供了以下几种 NamespaceDocker 容器使用了全部
@@ -65,6 +66,7 @@ PID USER COMMAND
1 root nginx: master process ← 在容器内是 PID 1
2 root nginx: worker process
```
#### PID 关键点
- 容器内的 PID 1 进程特殊重要它是容器的主进程退出则容器停止
@@ -99,6 +101,7 @@ flowchart LR
H2 <--> C2
```
#### NET 关键点
- 每个容器有独立的网卡IP路由表iptables 规则
@@ -129,6 +132,7 @@ MNT Namespace 负责文件系统挂载点的隔离,确保容器看到独立的
│ └── merged/ ────┼─── 这个目录成为容器的 /
└── ... └── ...
```
#### chroot 的区别
| 特性 | chroot | MNT Namespace |
@@ -212,6 +216,7 @@ flowchart LR
C1 -- 映射 --> H1
C2 -- 映射 --> H2
```
#### 安全意义
容器内的 root 用户可以映射为宿主机上的普通用户即使容器被突破攻击者在宿主机上也只有普通权限
@@ -243,6 +248,7 @@ $ exit
$ hostname
my-server
```
#### 实验 2PID Namespace
```bash
@@ -261,6 +267,7 @@ USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 8960 4516 pts/0 S 10:00 0:00 /bin/bash
root 8 0.0 0.0 10072 3200 pts/0 R+ 10:00 0:00 ps aux
```
#### 实验 3NET Namespace
```bash

View File

@@ -117,6 +117,7 @@ $ docker run --device-read-bps /dev/sda:10mb myapp
$ docker run --device-write-iops /dev/sda:100 myapp
```
#### 进程数限制
```bash
@@ -165,6 +166,7 @@ abc123 Exited (137) 5 seconds ago hopeful_darwin
...
```
#### CPU 限制验证
```bash
@@ -253,11 +255,13 @@ services:
$ docker run -m 1g myapp
```
#### 2. 为关键应用设置 CPU 保证
```bash
$ docker run --cpus=2 --cpu-shares=2048 critical-app
```
#### 3. 监控资源使用
```bash

View File

@@ -197,6 +197,7 @@ RUN apt-get update && \
apt-get install -y nginx && \
rm -rf /var/lib/apt/lists/*
```
#### 2. 避免在容器中写入大量数据
容器层的写入性能低于直接写入大量数据应使用