Remove blank lines after code block markers

This commit is contained in:
yeasy
2026-03-21 22:36:09 -07:00
parent 312f8fea42
commit 9ac19d79ee
132 changed files with 0 additions and 1517 deletions

View File

@@ -27,7 +27,6 @@ Docker 提供两种进入容器的命令:
#### docker exec 基本用法
```bash
## 进入容器并启动交互式 shell
$ docker exec -it 容器名 /bin/bash
@@ -36,7 +35,6 @@ $ docker exec -it 容器名 /bin/bash
$ docker exec -it 容器名 /bin/sh
```
#### 参数说明
| 参数 | 作用 |
@@ -51,7 +49,6 @@ $ docker exec -it 容器名 /bin/sh
#### docker exec 示例
```bash
## 启动一个后台容器
$ docker run -dit --name myubuntu ubuntu
@@ -70,13 +67,11 @@ $ docker ps
CONTAINER ID IMAGE STATUS NAMES
69d137adef7a ubuntu Up 2 minutes myubuntu
```
#### 执行单条命令
不进入交互模式直接执行命令
```bash
## 查看容器内进程
$ docker exec myubuntu ps aux
@@ -89,11 +84,9 @@ $ docker exec myubuntu cat /etc/nginx/nginx.conf
$ docker exec -u root myubuntu apt update
```
#### 只用 -i 不用 -t 的区别
```bash
## 只用 -i可以执行命令但没有提示符
$ docker exec -i myubuntu bash
@@ -108,7 +101,6 @@ dev
$ docker exec -it myubuntu bash
root@69d137adef7a:/# # 有提示符
```
> 💡 通常使用 `-it` 组合只有在脚本中需要通过管道传入命令时才只用 `-i`
---
@@ -120,7 +112,6 @@ root@69d137adef7a:/# # 有提示符
```bash
$ docker attach 容器名
```
#### 工作原理
`attach` 会附加到容器的 **主进程** (PID 1) 的标准输入输出
@@ -135,11 +126,9 @@ flowchart LR
end
Attach["docker attach"] -->|"附加到这里"| P1
```
#### docker attach 示例
```bash
## 启动容器
$ docker run -dit --name myubuntu ubuntu
@@ -150,7 +139,6 @@ $ docker run -dit --name myubuntu ubuntu
$ docker attach myubuntu
root@243c32535da7:/#
```
#### 重要警告
** attach 会话中输入 `exit` 或按 `Ctrl+D` 会导致容器停止**
@@ -163,7 +151,6 @@ $ docker ps
CONTAINER ID IMAGE STATUS NAMES
243c32535da7 ubuntu Exited (0) 2 seconds ago myubuntu
```
**原因**attach 附加到主进程退出主进程就等于退出容器
#### 安全退出 attach
@@ -182,7 +169,6 @@ $ docker ps # 容器仍在运行
CONTAINER ID IMAGE STATUS NAMES
243c32535da7 ubuntu Up 5 minutes myubuntu
```
---
### 5.4.5 exec vs attach 对比
@@ -219,7 +205,6 @@ flowchart LR
Container1 -.-> note1
Container2 -.-> note2
```
---
### 5.4.6 最佳实践
@@ -227,7 +212,6 @@ flowchart LR
#### 1. 首选 docker exec
```bash
## 进入容器调试
$ docker exec -it myapp bash
@@ -240,7 +224,6 @@ $ docker exec myapp tail -f /var/log/app.log
$ docker exec myapp python manage.py migrate
```
#### 2. 生产环境避免进入容器
笔者建议生产环境应尽量避免进入容器直接操作而是通过
@@ -254,7 +237,6 @@ $ docker exec myapp python manage.py migrate
某些精简镜像 (如基于 `scratch` `distroless`) 没有 shell
```bash
## 这会失败
$ docker exec -it myapp bash
@@ -264,7 +246,6 @@ OCI runtime exec failed: exec failed: unable to start container process: exec: "
$ docker debug myapp
```
---
### 5.4.7 常见问题
@@ -280,11 +261,9 @@ $ docker debug myapp
```bash
$ docker exec -it myapp /bin/sh
```
#### Q需要 root 权限
```bash
$ docker exec -u root -it myapp bash
```
---