Fix heading hierarchy

This commit is contained in:
baohua
2026-03-05 19:24:01 -08:00
parent f5cfa4140a
commit 70ef2cba58
14 changed files with 231 additions and 61 deletions

View File

@@ -2,7 +2,7 @@
在生产环境中推荐使用用户自定义网络代替默认的 bridge 网络自定义网络提供了更好的隔离性和服务发现能力
### 9.4.1 为什么要用自定义网络
### 9.3.1 为什么要用自定义网络
默认 bridge 网络存在以下局限而自定义网络可以很好地解决这些问题
@@ -12,7 +12,7 @@
| 所有容器在同一网络 | 更好的隔离性 |
| 需要 --link (已废弃)| 原生支持服务发现 |
### 9.4.2 创建自定义网络
### 9.3.2 创建自定义网络
使用 `docker network create` 命令可以创建自定义网络
@@ -26,7 +26,7 @@ $ docker network create mynet
$ docker network inspect mynet
```
### 9.4.3 使用自定义网络
### 9.3.3 使用自定义网络
启动容器时通过 `--network` 参数指定连接的网络
@@ -43,7 +43,7 @@ PING db (172.18.0.3): 56 data bytes
64 bytes from 172.18.0.3: seq=0 ttl=64 time=0.083 ms
```
### 9.4.4 容器名 DNS 解析
### 9.3.4 容器名 DNS 解析
自定义网络自动提供 DNS 服务Docker 守护进程在 `127.0.0.11` 运行了一个嵌入式 DNS 服务器容器内的 DNS 请求会被转发到这里
@@ -58,7 +58,7 @@ flowchart LR
end
```
### 9.4.5 常用网络命令
### 9.3.5 常用网络命令
以下是 Docker 网络管理中常用的命令

View File

@@ -2,7 +2,7 @@
容器之间的网络通信是 Docker 网络的核心功能之一本节介绍容器互联的几种方式
### 9.5.1 同一网络内的容器
### 9.4.1 同一网络内的容器
同一自定义网络内的容器可以直接通过容器名通信这是推荐的容器互联方式
@@ -21,7 +21,7 @@ $ docker run -d --name app --network app-net myapp
...
```
### 9.5.2 连接到多个网络
### 9.4.2 连接到多个网络
一个容器可以同时连接到多个网络这对于需要跨网络通信的中间件容器特别有用
@@ -39,7 +39,7 @@ $ docker network connect backend multi-net-container
$ docker inspect multi-net-container --format '{{json .NetworkSettings.Networks}}'
```
### 9.5.3 --link 已废弃
### 9.4.3 --link 已废弃
`--link` Docker 早期用于容器互联的方式**已经被废弃**不建议在新项目中使用请使用自定义网络替代

View File

@@ -2,7 +2,7 @@
容器运行在自己的隔离网络环境中 (通常是 Bridge 模式)为了让外部网络访问容器内的服务我们需要将容器的端口映射到宿主机的端口
### 9.6.1 为什么要映射端口
### 9.5.1 为什么要映射端口
容器的网络访问规则如下
@@ -21,7 +21,7 @@ flowchart TD
---
### 9.6.2 端口映射方式
### 9.5.2 端口映射方式
Docker 提供了多种方式来指定端口映射
@@ -66,7 +66,7 @@ abc123456 0.0.0.0:49153->80/tcp
---
### 9.6.3 查看端口映射
### 9.5.3 查看端口映射
可以使用以下命令查看容器的端口映射
@@ -92,7 +92,7 @@ abc123456 nginx 0.0.0.0:8080->80/tcp web
---
### 9.6.4 最佳实践与安全
### 9.5.4 最佳实践与安全
在配置端口映射时需要注意以下安全事项
@@ -127,7 +127,7 @@ $ docker run -d -p 53:53/udp dns-server
---
### 9.6.5 实现原理
### 9.5.5 实现原理
Docker 使用 `docker-proxy` 进程 (用户态) `iptables` DNAT 规则 (内核态) 来实现端口转发

View File

@@ -2,7 +2,7 @@
Docker 网络提供了天然的隔离能力不同网络之间的容器默认无法通信这是 Docker 网络安全的重要基础
### 9.7.1 网络隔离原理
### 9.6.1 网络隔离原理
不同网络之间默认隔离容器只能与同一网络中的容器直接通信
@@ -26,7 +26,7 @@ $ docker exec web ping db
ping: db: Name or service not known
```
### 9.7.2 安全优势
### 9.6.2 安全优势
这种隔离机制带来以下安全优势
@@ -37,7 +37,7 @@ ping: db: Name or service not known
| **多租户** | 不同租户的容器在不同网络中完全隔离 |
| **最小权限** | 容器只能访问必要的网络资源 |
### 9.7.3 跨网络通信
### 9.6.3 跨网络通信
如果确实需要某个容器跨网络通信可以将其同时连接到多个网络
@@ -52,7 +52,7 @@ $ docker network connect backend api
这种方式让你可以精确控制哪些容器可以跨网络通信遵循最小权限原则
### 9.7.4 典型网络架构
### 9.6.4 典型网络架构
一个典型的多层应用网络架构如下