Add blank lines before headers

This commit is contained in:
yeasy
2026-03-21 12:57:51 -07:00
parent 0648f63979
commit 312f8fea42
76 changed files with 411 additions and 0 deletions

View File

@@ -115,6 +115,7 @@ flowchart TD
> **笔者特别提醒**理解这一点可以帮你避免构建出臃肿的镜像**关键原理**每一层的文件变化会被记录 **删除操作只是标记不会真正减小镜像体积**
```docker
## 错误示范 ❌
FROM ubuntu:24.04
@@ -122,10 +123,12 @@ RUN apt-get update
RUN apt-get install -y build-essential # 安装编译工具(约 200MB
RUN make && make install # 编译应用
RUN apt-get remove build-essential # 试图删除编译工具
## 结果:镜像仍然包含 200MB 的编译工具!
```
```docker
## 正确做法 ✅
FROM ubuntu:24.04
@@ -135,6 +138,7 @@ RUN apt-get update && \
apt-get remove -y build-essential && \
apt-get autoremove -y && \
rm -rf /var/lib/apt/lists/*
## 在同一层完成安装、使用、清理
```
@@ -142,6 +146,7 @@ RUN apt-get update && \
#### 查看镜像的分层
```bash
## 查看镜像的历史(每层的构建记录)
$ docker history nginx:latest
@@ -164,6 +169,7 @@ Docker 镜像有多种标识方式:
格式`[仓库地址/]仓库名[:标签]`
```bash
## 完整格式
registry.example.com/myproject/myapp:v1.2.3

View File

@@ -113,6 +113,7 @@ flowchart TD
> **笔者特别强调**这是新手最容易踩的坑**容器存储层与容器生命周期绑定容器删除数据就没了**
```bash
## 创建容器,写入数据
$ docker run -it ubuntu bash
@@ -137,6 +138,7 @@ $ docker rm abc123
| **[绑定挂载 (Bind Mount) ](../08_data/8.2_bind-mounts.md)** | 挂载宿主机目录 | 开发时共享代码 |
```bash
## 使用数据卷(推荐)
$ docker run -v mydata:/var/lib/mysql mysql
@@ -173,6 +175,7 @@ stateDiagram-v2
#### 常用生命周期命令
```bash
## 创建并启动容器(最常用)
$ docker run nginx
@@ -203,6 +206,7 @@ $ docker rm -f abc123 # 强制删除运行中的容器
> **核心概念**容器的生命周期 = 主进程 (PID 1) 的生命周期
```bash
## 主进程运行,容器运行
## 主进程退出,容器停止
@@ -212,6 +216,7 @@ $ docker rm -f abc123 # 强制删除运行中的容器
这就是为什么
```bash
## 这个容器会立即退出bash 没有输入就退出了)
$ docker run ubuntu

View File

@@ -62,6 +62,7 @@ flowchart TB
示例
```bash
## 完整格式
registry.example.com/mycompany/myapp:v1.2.3
@@ -103,6 +104,7 @@ gcr.io/google-containers/pause:3.6
- 付费账户支持私有仓库
```bash
## 从 Docker Hub 拉取镜像
$ docker pull nginx # 官方镜像
@@ -152,6 +154,7 @@ $ docker push username/myapp:v1.0
Docker 官方提供了 [registry](https://hub.docker.com/_/registry/) 镜像,可以快速搭建私有 Registry
```bash
## 启动一个本地 Registry
$ docker run -d -p 5000:5000 --name registry registry:2
@@ -211,6 +214,7 @@ $ docker pull localhost:5000/myapp:v1.0
#### 常用命令
```bash
## 登录 Registry
$ docker login # 登录 Docker Hub
@@ -242,6 +246,7 @@ $ docker logout
Docker Hub [官方镜像](https://hub.docker.com/search?q=&type=image&image_filter=official) (标有 “Official Image” 标识) 经过 Docker 团队审核,相对更安全。示例如下:
```bash
## 官方镜像示例
nginx # ✅ 官方
@@ -261,6 +266,7 @@ someuser/myapp # ⚠️ 需要评估
> 注意Cosign 默认会把签名写回镜像所在仓库请使用你有推送权限的镜像地址
```bash
## 准备一个你有写权限的镜像地址
$ export IMAGE=<你的仓库名>/nginx:1.27
$ docker pull nginx:1.27
@@ -278,6 +284,7 @@ $ cosign verify --key cosign.pub $IMAGE
#### 漏洞扫描
```bash
## 使用 Docker Scout 扫描镜像漏洞
$ docker scout cves nginx:latest