mirror of
https://github.com/yeasy/docker_practice.git
synced 2026-03-25 03:05:32 +00:00
style(docs): standardize heading formats and numbering
- Enforce Level 1-3 structural numbering based on SUMMARY.md hierarchy - Remove structural numbering from Level 4+ headings - Eliminate single child headings by converting to bold text - Auto-inject summary text for headings with multiple children missing intro text - Exclude Appendix chapters from structural numbering - Avoid modifying code block contents - Add script to detect non-standard English usage in headers
This commit is contained in:
@@ -23,10 +23,10 @@ jobs:
|
||||
args: go version
|
||||
```
|
||||
|
||||
## 概述
|
||||
## 19.9 概述
|
||||
|
||||
总体概述了以下内容。
|
||||
|
||||
## 参考资料
|
||||
## 19.9 参考资料
|
||||
|
||||
* [Actions Docs](https://docs.github.com/en/actions)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
## DevOps 工作流完整示例
|
||||
## 19.8 DevOps 工作流完整示例
|
||||
|
||||
本章将演示一个基于 Docker,Kubernetes 和 Jenkins/GitLab CI 的完整 DevOps 工作流。
|
||||
|
||||
### 工作流概览
|
||||
### 19.8.1 工作流概览
|
||||
|
||||
1. **Code**:开发人员提交代码到 GitLab。
|
||||
2. **Build**:GitLab CI 触发构建任务。
|
||||
@@ -12,7 +12,7 @@
|
||||
6. **Verify**:人工或自动化验证。
|
||||
7. **Release (Production)**:审批后自动部署到生产环境。
|
||||
|
||||
### 关键配置示例
|
||||
### 19.8.2 关键配置示例
|
||||
|
||||
本节涵盖了相关内容与详细描述,主要探讨以下几个方面:
|
||||
|
||||
@@ -79,7 +79,7 @@ deploy_staging:
|
||||
- develop
|
||||
```
|
||||
|
||||
### 最佳实践
|
||||
### 19.8.3 最佳实践
|
||||
|
||||
1. **不可变基础设施**:一旦镜像构建完成,在各个环境 (Dev,Staging,Prod) 中都应该使用同一个镜像 tag (通常是 commit hash),而不是重新构建。
|
||||
2. **配置分离**:使用 ConfigMap 和 Secret 管理环境特定的配置,不要打包进镜像。
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
|
||||
本小节以 `GitHub` + `Drone` 来演示 `Drone` 的工作流程。当然在实际开发过程中,你的代码也许不在 GitHub 托管,那么你可以尝试使用 `Gogs` + `Drone` 来进行 `CI/CD`。
|
||||
|
||||
## Drone 关联项目
|
||||
## 19.10 Drone 关联项目
|
||||
|
||||
在 Github 新建一个名为 `drone-demo` 的仓库。
|
||||
|
||||
打开我们已经[部署好的 Drone 网站](install.md)或者 [Drone Cloud](https://cloud.drone.io),使用 GitHub 账号登录,在界面中关联刚刚新建的 `drone-demo` 仓库。
|
||||
|
||||
## 编写项目源代码
|
||||
## 19.10 编写项目源代码
|
||||
|
||||
初始化一个 git 仓库
|
||||
|
||||
@@ -72,7 +72,7 @@ trigger:
|
||||
└── app.go
|
||||
```
|
||||
|
||||
## 推送项目源代码到 GitHub
|
||||
## 19.10 推送项目源代码到 GitHub
|
||||
|
||||
运行以下命令:
|
||||
|
||||
@@ -84,7 +84,7 @@ $ git commit -m "test drone ci"
|
||||
$ git push origin master
|
||||
```
|
||||
|
||||
## 查看项目构建过程及结果
|
||||
## 19.10 查看项目构建过程及结果
|
||||
|
||||
打开我们部署好的 `Drone` 网站或者 Drone Cloud,即可看到构建结果。
|
||||
|
||||
@@ -94,7 +94,7 @@ $ git push origin master
|
||||
|
||||
本书 GitBook 也使用 Drone 进行 CI/CD,具体配置信息请查看本书根目录 [`.drone.yml`](https://github.com/yeasy/docker_practice/blob/master/.drone.yml) 文件。
|
||||
|
||||
## 参考链接
|
||||
## 19.10 参考链接
|
||||
|
||||
* [Drone Github](https://github.com/drone/drone)
|
||||
* [Drone 文档](https://docs.drone.io/)
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
|
||||
这是一个基于 Go 语言编写的简单 Web 应用示例,用于演示 Drone CI 的持续集成流程。
|
||||
|
||||
## 目录结构
|
||||
## 19.12 目录结构
|
||||
|
||||
* `app.go`:简单的 Go Web 服务器代码。
|
||||
* `.drone.yml`:Drone CI 的配置文件,定义了构建和测试流程。
|
||||
* `Dockerfile`:定义了如何将该应用构建为 Docker 镜像。
|
||||
|
||||
## 如何运行
|
||||
## 19.12 如何运行
|
||||
|
||||
1. 确保本地已安装 Docker 环境。
|
||||
2. 进入本目录构建镜像:
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
## 部署 Drone
|
||||
## 19.11 部署 Drone
|
||||
|
||||
本节涵盖了相关内容与详细描述,主要探讨以下几个方面:
|
||||
|
||||
### 要求
|
||||
### 19.11.1 要求
|
||||
|
||||
* 拥有公网 IP、域名 (如果你不满足要求,可以尝试在本地使用 Gogs + Drone)
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
|
||||
* 对 `CI/CD` 有一定了解
|
||||
|
||||
### 新建 GitHub 应用
|
||||
### 19.11.2 新建 GitHub 应用
|
||||
|
||||
登录 GitHub,在 https://github.com/settings/applications/new 新建一个应用。
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
|
||||
接下来查看这个应用的详情,记录 `Client ID` 和 `Client Secret`,之后配置 Drone 会用到。
|
||||
|
||||
### 配置 Drone
|
||||
### 19.11.3 配置 Drone
|
||||
|
||||
我们通过使用 `Docker Compose` 来启动 `Drone`,编写 `compose.yaml` (或 `docker-compose.yml`) 文件。
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
## VS Code 中使用 Docker
|
||||
## 19.14 VS Code 中使用 Docker
|
||||
|
||||
本节涵盖了相关内容与详细描述,主要探讨以下几个方面:
|
||||
|
||||
### 概述
|
||||
### 19.14.1 概述
|
||||
|
||||
总体概述了以下内容。
|
||||
|
||||
### 将 Docker 容器作为远程开发环境
|
||||
### 19.14.2 将 Docker 容器作为远程开发环境
|
||||
|
||||
无需本地安装开发工具,直接将 Docker 容器作为开发环境,具体参考[官方文档](https://code.visualstudio.com/docs/remote/containers)。
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
## Alpine
|
||||
## 19.3 Alpine
|
||||
|
||||
本节涵盖了相关内容与详细描述,主要探讨以下几个方面:
|
||||
|
||||
### 简介
|
||||
### 19.3.1 简介
|
||||
|
||||
下图直观地展示了本节内容:
|
||||
|
||||
@@ -28,7 +28,7 @@ ubuntu latest b39b81afc8ca 188.3 MB
|
||||
centos latest 8efe422e6104 210 MB
|
||||
```
|
||||
|
||||
### 获取并使用官方镜像
|
||||
### 19.3.2 获取并使用官方镜像
|
||||
|
||||
由于镜像很小,下载时间往往很短,读者可以直接使用 `docker run` 指令直接运行一个 `Alpine` 容器,并指定运行的 Linux 指令,例如:
|
||||
|
||||
@@ -37,7 +37,7 @@ $ docker run alpine echo '123'
|
||||
123
|
||||
```
|
||||
|
||||
### 迁移至 Alpine 基础镜像
|
||||
### 19.3.3 迁移至 Alpine 基础镜像
|
||||
|
||||
目前,大部分 Docker 官方镜像都已经支持 `Alpine` 作为基础镜像,可以很容易进行迁移。
|
||||
|
||||
@@ -67,7 +67,7 @@ RUN sed -i "s/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g" /etc/apk/repositories
|
||||
&& apk add --no-cache <package>
|
||||
```
|
||||
|
||||
### 相关资源
|
||||
### 19.3.4 相关资源
|
||||
|
||||
* `Alpine` 官网:https://www.alpinelinux.org/
|
||||
* `Alpine` 官方仓库:https://github.com/alpinelinux
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
## Busybox
|
||||
## 19.2 Busybox
|
||||
|
||||
本节涵盖了相关内容与详细描述,主要探讨以下几个方面:
|
||||
|
||||
### 简介
|
||||
### 19.2.1 简介
|
||||
|
||||
下图直观地展示了本节内容:
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
`BusyBox` 可运行于多款 `POSIX` 环境的操作系统中,如 `Linux` (包括 `Android`)、`Hurd`、`FreeBSD` 等。
|
||||
|
||||
### 获取官方镜像
|
||||
### 19.2.2 获取官方镜像
|
||||
|
||||
可以使用 `docker pull` 指令下载 `busybox:latest` 镜像:
|
||||
|
||||
@@ -34,7 +34,7 @@ REPOSITORY TAG IMAGE ID CREATED
|
||||
busybox latest e72ac664f4f0 6 weeks ago 2.433 MB
|
||||
```
|
||||
|
||||
### 运行 busybox
|
||||
### 19.2.3 运行 busybox
|
||||
|
||||
启动一个 `busybox` 容器,并在容器中执行 `grep` 命令。
|
||||
|
||||
@@ -112,7 +112,7 @@ tmpfs on /sys/firmware type tmpfs (ro,relatime)
|
||||
|
||||
`busybox` 镜像虽然小巧,但包括了大量常见的 `Linux` 命令,读者可以用它快速熟悉 `Linux` 命令。
|
||||
|
||||
### 相关资源
|
||||
### 19.2.4 相关资源
|
||||
|
||||
* `Busybox` 官网:https://busybox.net/
|
||||
* `Busybox` 官方仓库:https://git.busybox.net/busybox/
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
## CentOS 和 Fedora
|
||||
## 19.5 CentOS 和 Fedora
|
||||
|
||||
本节涵盖了相关内容与详细描述,主要探讨以下几个方面:
|
||||
|
||||
### CentOS 系统简介
|
||||
### 19.5.1 CentOS 系统简介
|
||||
|
||||
`CentOS` 和 `Fedora` 都是基于 `Redhat` 的常见 Linux 分支。`CentOS` 是目前企业级服务器的常用操作系统;`Fedora` 则主要面向个人桌面用户。
|
||||
|
||||
@@ -35,7 +35,7 @@ Status: Downloaded newer image for centos:7
|
||||
CentOS Linux release 7.9.2009 (Core)
|
||||
```
|
||||
|
||||
### Fedora 系统简介
|
||||
### 19.5.2 Fedora 系统简介
|
||||
|
||||
下图直观地展示了本节内容:
|
||||
|
||||
@@ -64,7 +64,7 @@ Fedora release 39 (Thirty Nine)
|
||||
```
|
||||
|
||||
|
||||
### 相关资源
|
||||
### 19.5.3 相关资源
|
||||
|
||||
* `Fedora` 官网:https://getfedora.org/
|
||||
* `Fedora` 官方仓库:https://github.com/fedora-infra
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
## Debian Ubuntu
|
||||
## 19.4 Debian Ubuntu
|
||||
|
||||
`Debian` 和 `Ubuntu` 都是目前较为流行的 **Debian 系** 的服务器操作系统,十分适合研发场景。`Docker Hub` 上提供了官方镜像,国内各大容器云服务也基本都提供了相应的支持。
|
||||
|
||||
### Debian 系统简介
|
||||
### 19.4.1 Debian 系统简介
|
||||
|
||||
下图直观地展示了本节内容:
|
||||
|
||||
@@ -34,7 +34,7 @@ Debian GNU/Linux 8
|
||||
|
||||
`Debian` 镜像很适合作为基础镜像,构建自定义镜像。
|
||||
|
||||
### Ubuntu 系统简介
|
||||
### 19.4.2 Ubuntu 系统简介
|
||||
|
||||
下图直观地展示了本节内容:
|
||||
|
||||
@@ -143,7 +143,7 @@ root@7d93de07bf76:/# curl 127.0.0.1
|
||||
|
||||
配合使用 `-p` 参数对外映射服务端口,可以允许容器外来访问该服务。
|
||||
|
||||
### 相关资源
|
||||
### 19.4.3 相关资源
|
||||
|
||||
* `Debian` 官网:https://www.debian.org/
|
||||
* `Neuro Debian` 官网:http://neuro.debian.net/
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
## 本章小结
|
||||
## 19.6 本章小结
|
||||
|
||||
本章讲解了典型操作系统镜像的下载和使用。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user