mirror of
https://github.com/yeasy/docker_practice.git
synced 2026-03-11 12:21:17 +00:00
Fix missing links
This commit is contained in:
@@ -154,6 +154,6 @@ flowchart TD
|
||||
|
||||
### 12.1.7 延伸阅读
|
||||
|
||||
- [命名空间](./11.2_namespace.md):Runc 如何隔离容器
|
||||
- [控制组](./11.3_cgroups.md):Runc 如何限制资源
|
||||
- [联合文件系统](./11.4_ufs.md):镜像如何存储
|
||||
- [命名空间](./12.2_namespace.md):Runc 如何隔离容器
|
||||
- [控制组](./12.3_cgroups.md):Runc 如何限制资源
|
||||
- [联合文件系统](./12.4_ufs.md):镜像如何存储
|
||||
|
||||
@@ -269,7 +269,7 @@ services:
|
||||
|
||||
在使用 Cgroups 限制资源时,遵循一些最佳实践可以避免潜在的问题。
|
||||
|
||||
#### 1。始终设置内存限制
|
||||
#### 1. 始终设置内存限制
|
||||
|
||||
运行以下命令:
|
||||
|
||||
@@ -279,7 +279,7 @@ services:
|
||||
$ docker run -m 1g myapp
|
||||
```
|
||||
|
||||
#### 2。为关键应用设置 CPU 保证
|
||||
#### 2. 为关键应用设置 CPU 保证
|
||||
|
||||
运行以下命令:
|
||||
|
||||
@@ -287,7 +287,7 @@ $ docker run -m 1g myapp
|
||||
$ docker run --cpus=2 --cpu-shares=2048 critical-app
|
||||
```
|
||||
|
||||
#### 3。监控资源使用
|
||||
#### 3. 监控资源使用
|
||||
|
||||
运行以下命令:
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ flowchart TD
|
||||
|
||||
Docker 选择联合文件系统作为其存储驱动,主要基于以下几个核心优势。
|
||||
|
||||
#### 1。镜像分层复用
|
||||
#### 1. 镜像分层复用
|
||||
|
||||
如下代码块所示,展示了相关示例:
|
||||
|
||||
@@ -40,7 +40,7 @@ flowchart TD
|
||||
|
||||
多个镜像共享相同的底层,节省磁盘空间。
|
||||
|
||||
#### 2。快速构建
|
||||
#### 2. 快速构建
|
||||
|
||||
每个 Dockerfile 指令创建一层,只有变化的层需要重建:
|
||||
|
||||
@@ -53,7 +53,7 @@ COPY . . # 层4:应用代码
|
||||
|
||||
代码变化时,只需重建层 4,层 1-3 使用缓存。
|
||||
|
||||
#### 3。容器启动快
|
||||
#### 3. 容器启动快
|
||||
|
||||
容器启动时不需要复制镜像,只需:
|
||||
|
||||
@@ -202,7 +202,7 @@ $ docker inspect nginx:alpine --format '{{json .GraphDriver.Data}}' | jq
|
||||
|
||||
为了构建高效、轻量的镜像,我们在使用联合文件系统时应注意以下几点。
|
||||
|
||||
#### 1。减少镜像层数
|
||||
#### 1. 减少镜像层数
|
||||
|
||||
如下代码块所示,展示了相关示例:
|
||||
|
||||
@@ -220,14 +220,14 @@ RUN apt-get update && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
```
|
||||
|
||||
#### 2。避免在容器中写入大量数据
|
||||
#### 2. 避免在容器中写入大量数据
|
||||
|
||||
容器层的写入性能低于直接写入。大量数据应使用:
|
||||
|
||||
- 数据卷 (Volume)
|
||||
- 绑定挂载 (Bind Mount)
|
||||
|
||||
#### 3。使用。dockerignore
|
||||
#### 3. 使用 .dockerignore
|
||||
|
||||
排除不需要的文件可以:
|
||||
|
||||
|
||||
@@ -12,9 +12,9 @@ Docker 底层的核心技术包括 Linux 上的命名空间 (Namespaces)、控
|
||||
|
||||
随着 Linux 系统对于命名空间功能的完善实现,程序员已经可以实现上面的所有需求,让某些进程在彼此隔离的命名空间中运行。大家虽然都共用一个内核和某些运行时环境 (例如一些系统命令和系统库),但是彼此却看不到,都以为系统中只有自己的存在。这种机制就是容器 (Container),利用命名空间来做权限的隔离控制,利用 cgroups 来做资源分配。
|
||||
|
||||
* [基本架构](11.1_arch.md)
|
||||
* [命名空间](11.2_namespace.md)
|
||||
* [控制组](11.3_cgroups.md)
|
||||
* [联合文件系统](11.4_ufs.md)
|
||||
* [容器格式](11.5_container_format.md)
|
||||
* [网络](11.6_network.md)
|
||||
* [基本架构](12.1_arch.md)
|
||||
* [命名空间](12.2_namespace.md)
|
||||
* [控制组](12.3_cgroups.md)
|
||||
* [联合文件系统](12.4_ufs.md)
|
||||
* [容器格式](12.5_container_format.md)
|
||||
* [网络](12.6_network.md)
|
||||
|
||||
@@ -13,9 +13,9 @@
|
||||
|
||||
### 12.7.1 延伸阅读
|
||||
|
||||
- [控制组 (Cgroups)](11.3_cgroups.md):资源限制机制
|
||||
- [联合文件系统](11.4_ufs.md):分层存储的实现
|
||||
- [安全](../17_security/README.md):容器安全实践
|
||||
- [控制组 (Cgroups)](12.3_cgroups.md):资源限制机制
|
||||
- [联合文件系统](12.4_ufs.md):分层存储的实现
|
||||
- [安全](../18_security/README.md):容器安全实践
|
||||
- [Linux Namespace 官方文档](https://man7.org/linux/man-pages/man7/namespaces.7.html)
|
||||
|
||||
| 资源 | 限制参数 | 示例 |
|
||||
@@ -28,8 +28,8 @@
|
||||
|
||||
### 12.7.2 延伸阅读
|
||||
|
||||
- [命名空间](11.2_namespace.md):资源隔离
|
||||
- [安全](../17_security/README.md):容器安全概述
|
||||
- [命名空间](12.2_namespace.md):资源隔离
|
||||
- [安全](../18_security/README.md):容器安全概述
|
||||
- [Docker Stats](../05_container/README.md):监控容器资源
|
||||
|
||||
| 概念 | 说明 |
|
||||
|
||||
Reference in New Issue
Block a user