mirror of
https://github.com/yeasy/docker_practice.git
synced 2026-03-11 04:14:38 +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:
@@ -2,7 +2,7 @@
|
||||
|
||||
本节涵盖了相关内容与详细描述,主要探讨以下几个方面:
|
||||
|
||||
### 什么是 Docker Hub
|
||||
### 6.1.1 什么是 Docker Hub
|
||||
|
||||
Docker Hub 是 Docker 的中央镜像仓库,通过它您可以轻松地分享和获取 Docker 镜像。
|
||||
|
||||
@@ -18,7 +18,7 @@ Docker Hub 是 Docker 的中央镜像仓库,通过它您可以轻松地分享
|
||||
|
||||
---
|
||||
|
||||
### 核心功能
|
||||
### 6.1.2 核心功能
|
||||
|
||||
本节涵盖了相关内容与详细描述,主要探讨以下几个方面:
|
||||
|
||||
@@ -70,7 +70,7 @@ $ docker push username/myapp:v1
|
||||
|
||||
---
|
||||
|
||||
### 限制与配额
|
||||
### 6.1.3 限制与配额
|
||||
|
||||
本节涵盖了相关内容与详细描述,主要探讨以下几个方面:
|
||||
|
||||
@@ -95,7 +95,7 @@ $ docker push username/myapp:v1
|
||||
|
||||
---
|
||||
|
||||
### 安全最佳实践
|
||||
### 6.1.4 安全最佳实践
|
||||
|
||||
本节涵盖了相关内容与详细描述,主要探讨以下几个方面:
|
||||
|
||||
@@ -123,7 +123,7 @@ Docker Hub 会对官方镜像和付费用户的镜像进行安全扫描。在镜
|
||||
|
||||
---
|
||||
|
||||
### Webhooks
|
||||
### 6.1.5 Webhooks
|
||||
|
||||
当镜像被推送时,可以自动触发 HTTP 回调 (例如通知 CI 系统部署)。
|
||||
|
||||
@@ -132,7 +132,7 @@ Docker Hub 会对官方镜像和付费用户的镜像进行安全扫描。在镜
|
||||
|
||||
---
|
||||
|
||||
### 自动构建
|
||||
### 6.1.6 自动构建
|
||||
|
||||
> ⚠️ 目前仅限付费用户 (Pro/Team) 使用。
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
[`docker-registry`](https://docs.docker.com/registry/) 是官方提供的工具,可以用于构建私有的镜像仓库。本文内容基于 [`docker-registry`](https://github.com/docker/distribution) v2.x 版本。
|
||||
|
||||
### 安装运行 docker-registry
|
||||
### 6.2.1 安装运行 docker-registry
|
||||
|
||||
本节涵盖了相关内容与详细描述,主要探讨以下几个方面:
|
||||
|
||||
@@ -33,7 +33,7 @@ $ docker run -d \
|
||||
registry
|
||||
```
|
||||
|
||||
### 在私有仓库上传、搜索、下载镜像
|
||||
### 6.2.2 在私有仓库上传、搜索、下载镜像
|
||||
|
||||
创建好私有仓库之后,就可以使用 `docker tag` 来标记一个镜像,然后推送它到仓库。例如私有仓库地址为 `127.0.0.1:5000`。
|
||||
|
||||
@@ -99,7 +99,7 @@ REPOSITORY TAG IMAGE ID CREAT
|
||||
127.0.0.1:5000/ubuntu:latest latest ba5877dc9bec 6 weeks ago 192.7 MB
|
||||
```
|
||||
|
||||
### 配置非 https 仓库地址
|
||||
### 6.2.3 配置非 https 仓库地址
|
||||
|
||||
如果你不想使用 `127.0.0.1:5000` 作为仓库地址,比如想让本网段的其他主机也能把镜像推送到私有仓库。你就得把例如 `192.168.199.100:5000` 这样的内网地址作为私有仓库地址,这时你会发现无法成功推送镜像。
|
||||
|
||||
@@ -130,6 +130,6 @@ REPOSITORY TAG IMAGE ID CREAT
|
||||
|
||||
>注意:该文件必须符合 `json` 规范,否则 Docker 将不能启动。
|
||||
|
||||
### 其他
|
||||
### 6.2.4 其他
|
||||
|
||||
对于 Docker Desktop for Windows、Docker Desktop for Mac 在设置中的 `Docker Engine` 中进行编辑,增加和上边一样的字符串即可。
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
新建一个文件夹,以下步骤均在该文件夹中进行。
|
||||
|
||||
### 准备站点证书
|
||||
### 6.3.1 准备站点证书
|
||||
|
||||
如果你拥有一个域名,国内各大云服务商均提供免费的站点证书。你也可以使用 `openssl` 自行签发证书。
|
||||
|
||||
@@ -82,7 +82,7 @@ $ openssl x509 -req -days 750 -in "site.csr" -sha256 \
|
||||
|
||||
新建 `ssl` 文件夹并将 `docker.domain.com.key` `docker.domain.com.crt` `root-ca.crt` 这三个文件移入,删除其他文件。
|
||||
|
||||
### 配置私有仓库
|
||||
### 6.3.2 配置私有仓库
|
||||
|
||||
私有仓库默认的配置文件位于 `/etc/docker/registry/config.yml`,我们先在本地编辑 `config.yml`,之后挂载到容器中。
|
||||
|
||||
@@ -123,7 +123,7 @@ health:
|
||||
threshold: 3
|
||||
```
|
||||
|
||||
### 生成 http 认证文件
|
||||
### 6.3.3 生成 http 认证文件
|
||||
|
||||
运行以下命令:
|
||||
|
||||
@@ -138,7 +138,7 @@ $ docker run --rm \
|
||||
|
||||
> 将上面的 `username` `password` 替换为你自己的用户名和密码。
|
||||
|
||||
### 编辑 Docker Compose 配置
|
||||
### 6.3.4 编辑 Docker Compose 配置
|
||||
|
||||
编辑 `compose.yaml` (或 `docker-compose.yml`) 配置如下:
|
||||
|
||||
@@ -156,7 +156,7 @@ volumes:
|
||||
registry-data:
|
||||
```
|
||||
|
||||
### 修改 Hosts 文件
|
||||
### 6.3.5 修改 Hosts 文件
|
||||
|
||||
编辑 `/etc/hosts`
|
||||
|
||||
@@ -164,7 +164,7 @@ volumes:
|
||||
127.0.0.1 docker.domain.com
|
||||
```
|
||||
|
||||
### 启动
|
||||
### 6.3.6 启动
|
||||
|
||||
运行以下命令:
|
||||
|
||||
@@ -174,7 +174,7 @@ $ docker compose up -d
|
||||
|
||||
这样我们就搭建好了一个具有权限认证、TLS 的私有仓库,接下来我们测试其功能是否正常。
|
||||
|
||||
### 测试私有仓库功能
|
||||
### 6.3.7 测试私有仓库功能
|
||||
|
||||
由于自行签发的 CA 根证书不被系统信任,所以我们需要将 CA 根证书 `ssl/root-ca.crt` 移入 `/etc/docker/certs.d/docker.domain.com` 文件夹中。
|
||||
|
||||
@@ -216,6 +216,6 @@ no basic auth credentials
|
||||
|
||||
发现会提示没有登录,不能将镜像推送到私有仓库中。
|
||||
|
||||
### 注意事项
|
||||
### 6.3.8 注意事项
|
||||
|
||||
如果你本机占用了 `443` 端口,你可以配置 [Nginx 代理](https://docs.docker.com/registry/recipes/nginx/),这里不再赘述。
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
使用 Docker 官方的 Registry 创建的仓库面临一些维护问题。比如某些镜像删除以后空间默认是不会回收的,需要一些命令去回收空间然后重启 Registry。在企业中把内部的一些工具包放入 `Nexus` 中是比较常见的做法,最新版本 `Nexus3.x` 全面支持 Docker 的私有镜像。所以使用 [`Nexus3.x`](https://www.sonatype.com/product/repository-oss-download) 一个软件来管理 `Docker`,`Maven`,`Yum`,`PyPI` 等是一个明智的选择。
|
||||
|
||||
### 启动 Nexus 容器
|
||||
### 6.4.1 启动 Nexus 容器
|
||||
|
||||
运行以下命令:
|
||||
|
||||
@@ -40,7 +40,7 @@ $ docker exec nexus3 cat /nexus-data/admin.password
|
||||
|
||||
登录之后可以点击页面上方的齿轮按钮按照下面的方法进行设置。
|
||||
|
||||
### 创建仓库
|
||||
### 6.4.2 创建仓库
|
||||
|
||||
创建一个私有仓库的方法:`Repository->Repositories` 点击右边菜单 `Create repository` 选择 `docker (hosted)`
|
||||
|
||||
@@ -50,7 +50,7 @@ $ docker exec nexus3 cat /nexus-data/admin.password
|
||||
|
||||
其它的仓库创建方法请各位自己摸索,还可以创建一个 `docker (proxy)` 类型的仓库链接到 DockerHub 上。再创建一个 `docker (group)` 类型的仓库把刚才的 `hosted` 与 `proxy` 添加在一起。主机在访问的时候默认下载私有仓库中的镜像,如果没有将链接到 DockerHub 中下载并缓存到 Nexus 中。
|
||||
|
||||
### 添加访问权限
|
||||
### 6.4.3 添加访问权限
|
||||
|
||||
菜单 `Security->Realms` 把 Docker Bearer Token Realm 移到右边的框中保存。
|
||||
|
||||
@@ -58,7 +58,7 @@ $ docker exec nexus3 cat /nexus-data/admin.password
|
||||
|
||||
添加用户:菜单 `Security->Users`->`Create local user` 在 `Roles` 选项中选中刚才创建的规则移动到右边的窗口保存。
|
||||
|
||||
### NGINX 反向代理配置
|
||||
### 6.4.4 NGINX 反向代理配置
|
||||
|
||||
证书的生成请参见 [`私有仓库高级配置`](6.3_registry_auth.md) 里面证书生成一节。
|
||||
|
||||
@@ -113,7 +113,7 @@ server {
|
||||
}
|
||||
```
|
||||
|
||||
### Docker 主机访问镜像仓库
|
||||
### 6.4.5 Docker 主机访问镜像仓库
|
||||
|
||||
如果不启用 SSL 加密可以通过[前面章节](6.2_registry.md)的方法添加非 https 仓库地址到 Docker 的配置文件中然后重启 Docker。
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
## 本章小结
|
||||
## 6.5 本章小结
|
||||
|
||||
相关信息如下表:
|
||||
|
||||
@@ -9,11 +9,11 @@
|
||||
| **安全** | 推荐开启 2FA 并使用 Access Token |
|
||||
| **自动化** | 支持 Webhooks 和自动构建 |
|
||||
|
||||
### 概述
|
||||
### 6.5.1 概述
|
||||
|
||||
总体概述了以下内容。
|
||||
|
||||
### 延伸阅读
|
||||
### 6.5.2 延伸阅读
|
||||
|
||||
- [私有仓库](6.2_registry.md):搭建自己的 Registry
|
||||
- [镜像加速器](../03_install/3.9_mirror.md):加速下载
|
||||
|
||||
Reference in New Issue
Block a user