Add security note

This commit is contained in:
Baohua Yang
2026-02-28 14:28:38 -08:00
parent 70cab9e92d
commit 0ff67cc893
16 changed files with 115 additions and 23 deletions

View File

@@ -0,0 +1,41 @@
# 附录八本书示例规范与写作公约
为了保证本书在漫长的技术迭代中保持高质量高安全性以及良好的可读性我们确立了以下项目写作规范所有的修改与贡献都必须遵循这些原则
## 1. 安全与凭据处理
任何示例文档中都**严禁出现将凭据以明文形式直接传递给命令参数**的做法
* **错误示例**`docker login -u myuser -p mysecretpassword` (这会导致密码泄露到历史记录及进程列表中)
* **正确示例交互式**推荐读者直接使用 `docker login` (优先使用官方 Device Code Flow)
* **正确示例自动化**使用标准输入流传递 Token`echo $PAT | docker login -u myuser --password-stdin`
## 2. 失败模式与前置条件说明
许多现代 Docker 功能 ( Buildx, SBOM, Kubernetes CRI 集成) 均需要特定的后端存储或者组件支持在介绍这些进阶命令时必须
* **明确声明前置条件**例如此功能需要开启 containerd image store 需要额外配置 `--push`
* **描述失败现象**明确告诉读者如果你不这么配置命令仍会提示成功但产物将不可见/被丢弃
## 3. 统一使用 "docker compose" 命令
早期 Python 编写的 `docker-compose` (V1) 已停止支持
* **全书统一标准**所有的编排命令必须书写为 `docker compose` (带空格的 V2 CLI 插件版)
* 不得在新的文档和案例中提及或使用旧版格式除非是为了特意说明 V1 V2 的迁移
## 4. 可复现性目标 (以可重建为目标)
本书中的所有实战和案例 (尤其 OS DevOps 章节) 应尽量给出最小可复现实验环境
* 提供明确的基础镜像版本要求 (不要盲目依赖 `latest`)
* 明确宿主机的生命周期窗口例如明确注出 Ubuntu 20.04 的支持结束时间
## 5. Markdown 格式纪律
我们使用自动化的格式检查工具 (`check_project_rules.py`) 进行 Lint以下是必须遵守的排版底线
* **加粗与空格**加粗符号内不得有空格`**错误 黑体**` `**正确黑体**`
* **标题间距**标题后必须跟恰好一个空行
* **中文标点**正文叙述部分的引号必须使用中文弯引号 `“”`不得使用英文直引号 `""`除了代码块或 Mermaid 图表中
* **层级与桥接**禁止跳跃级别使用标题 ( H2 后直接接 H4)且带有子标题的章节在进入第一个子标题前必须要有引导/过渡段落介绍该节内容