Simplify words and fix format issues

This commit is contained in:
Baohua Yang
2026-02-24 22:01:02 -08:00
parent c44cbfcd62
commit d6e0838807
124 changed files with 45 additions and 1073 deletions

View File

@@ -13,12 +13,8 @@
### 5.1.2 新建并启动
本节涵盖了相关内容与详细描述主要探讨以下几个方面
#### 基本语法
运行以下命令
```bash
docker run [选项] 镜像 [命令] [参数...]
```
@@ -84,12 +80,8 @@ flowchart TD
### 5.1.4 常用启动选项
本节涵盖了相关内容与详细描述主要探讨以下几个方面
#### 基础选项
相关信息如下表
| 选项 | 说明 | 示例 |
|------|------|------|
| `-d` | 后台运行 (detach)| `docker run -d nginx` |
@@ -99,8 +91,6 @@ flowchart TD
#### 端口映射
运行以下命令
```bash
## 将容器的 80 端口映射到宿主机的 8080 端口
@@ -117,8 +107,6 @@ $ docker run -d -p 127.0.0.1:8080:80 nginx
#### 数据卷挂载
运行以下命令
```bash
## 挂载命名卷
@@ -135,8 +123,6 @@ $ docker run -v /host/path:/container/path:ro nginx
#### 环境变量
运行以下命令
```bash
## 设置单个环境变量
@@ -149,8 +135,6 @@ $ docker run --env-file .env myapp
#### 资源限制
运行以下命令
```bash
## 限制内存
@@ -198,8 +182,6 @@ root@ba267838cc1b:/# ps
### 5.1.7 常见问题
本节涵盖了相关内容与详细描述主要探讨以下几个方面
#### Q容器启动后立即退出
**原因**主进程执行完毕或无法保持运行

View File

@@ -13,12 +13,8 @@ Docker 容器默认是 **前台运行** 的。使用 `-d` (detach) 参数可以
### 5.2.2 基本使用
本节涵盖了相关内容与详细描述主要探讨以下几个方面
#### 前台运行 (默认)
运行以下命令
```bash
$ docker run ubuntu:24.04 /bin/sh -c "while true; do echo hello world; sleep 1; done"
hello world
@@ -35,8 +31,6 @@ hello world
#### 后台运行 (使用 -d 参数)
运行以下命令
```bash
$ docker run -d ubuntu:24.04 /bin/sh -c "while true; do echo hello world; sleep 1; done"
77b2dc01fe0f3f1265df143181e7b9af5e05279a884f4776ee75350ea9d8017a
@@ -89,8 +83,6 @@ flowchart TD
#### 常见的 立即退出 场景
相关信息如下表
| 场景 | 原因 | 解决方案 |
|------|------|---------|
| `docker run -d ubuntu` | 默认 bash 无输入立即退出 | 指定长期运行的命令 |
@@ -99,12 +91,8 @@ flowchart TD
### 5.2.4 查看后台容器
本节涵盖了相关内容与详细描述主要探讨以下几个方面
#### 查看运行中的容器
运行以下命令
```bash
$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
@@ -113,8 +101,6 @@ CONTAINER ID IMAGE COMMAND CREATED STATUS PO
#### 查看容器输出日志
运行以下命令
```bash
$ docker container logs 77b2dc01fe0f
hello world
@@ -131,8 +117,6 @@ $ docker container logs -f 77b2dc01fe0f
#### 查看已停止的容器
运行以下命令
```bash
$ docker container ls -a
```
@@ -141,12 +125,8 @@ $ docker container ls -a
### 5.2.5 最佳实践
本节涵盖了相关内容与详细描述主要探讨以下几个方面
#### 1. 长期运行的服务使用 -d
运行以下命令
```bash
## Web 服务器
@@ -185,8 +165,6 @@ Hello, World!
#### 4. 配合日志查看
运行以下命令
```bash
## 后台启动
@@ -207,8 +185,6 @@ $ docker logs -t myapp
### 5.2.6 常见问题排查
本节涵盖了相关内容与详细描述主要探讨以下几个方面
#### Q容器启动后立即退出
1. **查看退出状态码**

View File

@@ -16,20 +16,14 @@
### 5.3.2 docker stop (推荐)
本节涵盖了相关内容与详细描述主要探讨以下几个方面
#### docker stop 基本用法
运行以下命令
```bash
$ docker stop 容器名或ID
```
#### 工作原理
具体内容如下
```mermaid
flowchart TD
cmd["docker stop mycontainer"] --> A["1. 发送 SIGTERM 信号给容器主进程 (PID 1)"]
@@ -39,8 +33,6 @@ flowchart TD
#### 自定义超时时间
运行以下命令
```bash
## 等待 30 秒后强制终止
@@ -53,8 +45,6 @@ $ docker stop -t 0 mycontainer
#### 停止多个容器
运行以下命令
```bash
## 停止多个指定容器
@@ -69,20 +59,14 @@ $ docker stop $(docker ps -q)
### 5.3.3 docker kill
本节涵盖了相关内容与详细描述主要探讨以下几个方面
#### 基本用法
运行以下命令
```bash
$ docker kill 容器名或ID
```
#### stop 的区别
相关信息如下表
| 命令 | 信号 | 使用场景 |
|------|------|---------|
| `docker stop` | SIGTERM SIGKILL | 正常停止让应用优雅退出 |
@@ -90,8 +74,6 @@ $ docker kill 容器名或ID
#### 发送自定义信号
运行以下命令
```bash
## 发送 SIGHUP让进程重新加载配置
@@ -123,8 +105,6 @@ $ docker run ubuntu echo "Hello" # echo 执行完 → 容器停止
### 5.3.5 查看已停止的容器
运行以下命令
```bash
$ docker ps -a
CONTAINER ID IMAGE COMMAND STATUS NAMES
@@ -146,12 +126,8 @@ c5d3a5e8f7b2 nginx "nginx" Up 5 minutes mynginx
### 5.3.6 重新启动容器
本节涵盖了相关内容与详细描述主要探讨以下几个方面
#### 启动已停止的容器
运行以下命令
```bash
$ docker start 容器名或ID
@@ -162,8 +138,6 @@ $ docker start -ai 容器名
#### 重启运行中的容器
运行以下命令
```bash
## 先停止再启动
@@ -178,8 +152,6 @@ $ docker restart -t 30 容器名
### 5.3.7 生命周期状态图
具体内容如下
```mermaid
stateDiagram-v2
direction TB
@@ -200,28 +172,20 @@ stateDiagram-v2
### 5.3.8 批量操作
本节涵盖了相关内容与详细描述主要探讨以下几个方面
#### 停止所有容器
运行以下命令
```bash
$ docker stop $(docker ps -q)
```
#### 删除所有已停止的容器
运行以下命令
```bash
$ docker container prune
```
#### 停止并删除所有容器
运行以下命令
```bash
$ docker stop $(docker ps -q) && docker container prune -f
```
@@ -230,8 +194,6 @@ $ docker stop $(docker ps -q) && docker container prune -f
### 5.3.9 常见问题
本节涵盖了相关内容与详细描述主要探讨以下几个方面
#### Q容器停止很慢
原因应用没有正确处理 SIGTERM 信号需要等待超时后强制终止
@@ -258,8 +220,6 @@ CMD ["node", "server.js"]
#### Q容器无法停止
运行以下命令
```bash
## 强制终止

View File

@@ -1,7 +1,5 @@
## 5.4 进入容器
本节涵盖了相关内容与详细描述主要探讨以下几个方面
### 5.4.1 为什么需要进入容器
使用 `-d` 参数启动容器后容器在后台运行以下场景需要进入容器内部操作
@@ -26,12 +24,8 @@ Docker 提供两种进入容器的命令:
### 5.4.3 docker exec (推荐)
本节涵盖了相关内容与详细描述主要探讨以下几个方面
#### docker exec 基本用法
运行以下命令
```bash
## 进入容器并启动交互式 shell
@@ -44,8 +38,6 @@ $ docker exec -it 容器名 /bin/sh
#### 参数说明
相关信息如下表
| 参数 | 作用 |
|------|------|
| `-i` | 保持标准输入打开 (interactive)|
@@ -57,8 +49,6 @@ $ docker exec -it 容器名 /bin/sh
#### docker exec 示例
运行以下命令
```bash
## 启动一个后台容器
@@ -99,8 +89,6 @@ $ docker exec -u root myubuntu apt update
#### 只用 -i 不用 -t 的区别
运行以下命令
```bash
## 只用 -i可以执行命令但没有提示符
@@ -123,12 +111,8 @@ root@69d137adef7a:/# # 有提示符
### 5.4.4 docker attach (谨慎使用)
本节涵盖了相关内容与详细描述主要探讨以下几个方面
#### docker attach 基本用法
运行以下命令
```bash
$ docker attach 容器名
```
@@ -150,8 +134,6 @@ flowchart LR
#### docker attach 示例
运行以下命令
```bash
## 启动容器
@@ -199,8 +181,6 @@ CONTAINER ID IMAGE STATUS NAMES
### 5.4.5 exec vs attach 对比
相关信息如下表
| 特性 | docker exec | docker attach |
|------|-------------|---------------|
| **工作方式** | 在容器内启动新进程 | 附加到主进程 |
@@ -238,12 +218,8 @@ flowchart LR
### 5.4.6 最佳实践
本节涵盖了相关内容与详细描述主要探讨以下几个方面
#### 1. 首选 docker exec
运行以下命令
```bash
## 进入容器调试
@@ -285,8 +261,6 @@ $ docker debug myapp
### 5.4.7 常见问题
本节涵盖了相关内容与详细描述主要探讨以下几个方面
#### Qexec 进入后看不到其他终端的操作
这是正常的exec 启动的是独立进程多个 exec 会话互不影响
@@ -301,8 +275,6 @@ $ docker exec -it myapp /bin/sh
#### Q需要 root 权限
运行以下命令
```bash
$ docker exec -u root -it myapp bash
```

View File

@@ -16,8 +16,6 @@ $ docker rm 容器名或ID
### 5.6.2 删除选项
相关信息如下表
| 选项 | 说明 | 示例 |
|------|------|------|
| 无参数 | 删除已停止的容器 | `docker rm mycontainer` |
@@ -26,8 +24,6 @@ $ docker rm 容器名或ID
#### 删除已停止的容器
运行以下命令
```bash
$ docker rm mycontainer
mycontainer
@@ -35,8 +31,6 @@ mycontainer
#### 强制删除运行中的容器
运行以下命令
```bash
## 不加 -f 会报错
@@ -53,8 +47,6 @@ running_container
#### 删除容器及其数据卷
运行以下命令
```bash
## 删除容器时同时删除其匿名卷
@@ -67,12 +59,8 @@ $ docker rm -v mycontainer
### 5.6.3 批量删除
本节涵盖了相关内容与详细描述主要探讨以下几个方面
#### 删除所有已停止的容器
运行以下命令
```bash
## 方式一:使用 prune 命令(推荐)
@@ -92,8 +80,6 @@ $ docker container prune -f
#### 删除所有容器 (包括运行中的)
运行以下命令
```bash
## 先停止所有容器,再删除
@@ -107,8 +93,6 @@ $ docker rm -f $(docker ps -aq)
#### 按条件删除
运行以下命令
```bash
## 删除所有已退出的容器
@@ -138,14 +122,8 @@ $ docker container prune --filter "until=24h"
| `before=xxx` | 在某容器之前创建 | `-f before=mycontainer` |
| `since=xxx` | 在某容器之后创建 | `-f since=mycontainer` |
#### 概述
总体概述了以下内容
#### 示例
运行以下命令
```bash
## 删除所有基于 nginx 镜像的容器
@@ -178,12 +156,8 @@ $ docker image rm nginx
### 5.6.6 清理策略建议
本节涵盖了相关内容与详细描述主要探讨以下几个方面
#### 开发环境
运行以下命令
```bash
## 定期清理已停止的容器
@@ -196,8 +170,6 @@ $ docker system prune -f
#### 生产环境
运行以下命令
```bash
## 使用 --rm 参数运行临时容器
@@ -211,8 +183,6 @@ $ docker container prune --filter "until=168h" # 保留 7 天内的
#### 完整清理脚本
运行以下命令
```bash
#!/bin/bash
## cleanup.sh - Docker 资源清理脚本
@@ -237,12 +207,8 @@ docker system df
### 5.6.7 常见问题
本节涵盖了相关内容与详细描述主要探讨以下几个方面
#### Q容器无法删除
运行以下命令
```bash
Error: container is running
```

View File

@@ -1,4 +1,4 @@
# 第五章操作容器
# 第五章 操作容器
容器是 Docker 又一核心概念
@@ -6,7 +6,7 @@
本章将具体介绍如何来管理一个容器包括创建启动和停止等
* [启动容器](../05_container/5.1_run.md)
* [启动容器](5.1_run.md)
* [守护态运行](5.2_daemon.md)
* [终止容器](5.3_stop.md)
* [进入容器](5.4_attach_exec.md)

View File

@@ -1,7 +1,5 @@
## 5.7 本章小结
相关信息如下表
| 操作 | 命令 | 说明 |
|------|------|------|
| 新建并运行 | `docker run` | 最常用的启动方式 |