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

@@ -18,7 +18,6 @@
```bash
docker run [选项] 镜像 [命令] [参数...]
```
#### 最简单的例子
输出 Hello World 后容器自动终止
@@ -27,7 +26,6 @@ docker run [选项] 镜像 [命令] [参数...]
$ docker run ubuntu:24.04 /bin/echo 'Hello world'
Hello world
```
这与直接执行 `/bin/echo 'Hello world'` 几乎没有区别但实际上已经启动了一个完整的 Ubuntu 容器来执行这条命令
#### 交互式容器
@@ -38,7 +36,6 @@ Hello world
$ docker run -it ubuntu:24.04 /bin/bash
root@af8bae53bdd3:/#
```
**参数说明**
| 参数 | 作用 |
@@ -56,7 +53,6 @@ root@af8bae53bdd3:/# ls
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
root@af8bae53bdd3:/# exit # 退出容器
```
### 5.1.3 docker run 的完整流程
执行 `docker run` Docker 在后台完成以下操作
@@ -77,7 +73,6 @@ flowchart TD
Step4["4. 启动容器,执行指定命令"] --> Step5
Step5["5. 命令执行完毕,容器停止"]
```
### 5.1.4 常用启动选项
#### 基础选项
@@ -92,7 +87,6 @@ flowchart TD
#### 端口映射
```bash
## 将容器的 80 端口映射到宿主机的 8080 端口
$ docker run -d -p 8080:80 nginx
@@ -105,11 +99,9 @@ $ docker run -d -P nginx
$ docker run -d -p 127.0.0.1:8080:80 nginx
```
#### 数据卷挂载
```bash
## 挂载命名卷
$ docker run -v mydata:/data nginx
@@ -122,11 +114,9 @@ $ docker run -v /host/path:/container/path nginx
$ docker run -v /host/path:/container/path:ro nginx
```
#### 环境变量
```bash
## 设置单个环境变量
$ docker run -e MYSQL_ROOT_PASSWORD=secret mysql
@@ -135,11 +125,9 @@ $ docker run -e MYSQL_ROOT_PASSWORD=secret mysql
$ docker run --env-file .env myapp
```
#### 资源限制
```bash
## 限制内存
$ docker run -m 512m nginx
@@ -148,13 +136,11 @@ $ docker run -m 512m nginx
$ docker run --cpus=1.5 nginx
```
### 5.1.5 启动已终止容器
使用 `docker start` 重新启动已停止的容器
```bash
## 查看所有容器(包括已停止的)
$ docker ps -a
@@ -169,7 +155,6 @@ $ docker start myubuntu
$ docker start -ai myubuntu
```
### 5.1.6 容器内进程的特点
容器内只运行指定的应用程序及其必需资源
@@ -180,7 +165,6 @@ root@ba267838cc1b:/# ps
1 ? 00:00:00 bash
11 ? 00:00:00 ps
```
可见容器中仅运行了 `bash` 进程这种特点使得 Docker 对资源的利用率极高
> 💡 笔者提示容器内的 PID 1 进程很重要它是容器的主进程该进程退出则容器停止详见[后台运行](5.2_daemon.md)章节
@@ -192,7 +176,6 @@ root@ba267838cc1b:/# ps
**原因**主进程执行完毕或无法保持运行
```bash
## 这个容器会立即退出echo 执行完就结束了)
$ docker run ubuntu echo "hello"
@@ -201,7 +184,6 @@ $ docker run ubuntu echo "hello"
$ docker run -d nginx # nginx 是持续运行的服务
```
详细解释见[后台运行](5.2_daemon.md)
#### Q无法连接容器内的服务
@@ -209,7 +191,6 @@ $ docker run -d nginx # nginx 是持续运行的服务
**原因**未正确映射端口
```bash
## 错误:没有 -p 参数,外部无法访问
$ docker run -d nginx
@@ -218,16 +199,13 @@ $ docker run -d nginx
$ docker run -d -p 80:80 nginx
```
#### Q容器内修改的文件丢失
**原因**未使用数据卷数据保存在容器存储层
```bash
## 使用数据卷持久化
$ docker run -v mydata:/app/data myapp
```
详见[数据管理](../08_data/README.md)