style: apply global formatting fixes (struct, spacing, zhlint)

This commit is contained in:
Baohua Yang
2026-02-21 11:08:52 -08:00
parent ad68b2d973
commit 79ac9c639a
159 changed files with 1708 additions and 882 deletions

View File

@@ -1,5 +1,7 @@
## 6.1 Docker Hub
本节涵盖了相关内容与详细描述主要探讨以下几个方面
### 什么是 Docker Hub
Docker Hub Docker 的中央镜像仓库通过它您可以轻松地分享和获取 Docker 镜像
@@ -8,16 +10,18 @@ Docker Hub 是 Docker 的中央镜像仓库,通过它您可以轻松地分享
[Docker Hub](https://hub.docker.com/) 是 Docker 官方维护的公共镜像仓库,也是全球最大的容器镜像库。
它提供了
- **官方镜像** Docker 官方和软件厂商 Nginx, MySQL, Node.js维护的高质量镜像
- **官方镜像** Docker 官方和软件厂商 ( NginxMySQLNode.js) 维护的高质量镜像
- **个人/组织仓库**用户可以上传自己的镜像
- **自动构建** GitHub/Bitbucket 集成需付费
- **自动构建** GitHub/Bitbucket 集成 (需付费)
- **Webhooks**镜像更新时触发回调
---
### 核心功能
#### 1. 搜索镜像
本节涵盖了相关内容与详细描述主要探讨以下几个方面
#### 1搜索镜像
我们可以通过 `docker search` 命令来查找官方仓库中的镜像并利用 `docker pull` 命令来将它下载到本地
@@ -32,7 +36,7 @@ centos The official build of CentOS. 7000+ [OK]
> **技巧**始终优先使用 `OFFICIAL` 标记为 `[OK]` 的镜像安全性更有保障
#### 2. 拉取镜像
#### 2拉取镜像
运行以下命令
@@ -40,7 +44,7 @@ centos The official build of CentOS. 7000+ [OK]
$ docker pull nginx:alpine
```
#### 3. 推送镜像
#### 3推送镜像
需要先登录
@@ -67,6 +71,12 @@ $ docker push username/myapp:v1
### 限制与配额
本节涵盖了相关内容与详细描述主要探讨以下几个方面
#### 概述
总体概述了以下内容
#### 镜像拉取限制
2020 11 月起Docker Hub 对匿名和免费用户实施了拉取速率限制
@@ -86,14 +96,16 @@ $ docker push username/myapp:v1
### 安全最佳实践
#### 1. 启用 2FA双因素认证
本节涵盖了相关内容与详细描述主要探讨以下几个方面
#### 1启用 2FA (双因素认证)
为了保护您的 Docker Hub 账号安全我们建议采取以下措施
Account Settings -> Security 中启用 2FA保护账号安全启用后CLI 登录需要使用 **Access Token** 而非密码
#### 2. 使用 Access Token
#### 2使用 Access Token
不要在脚本或 CI/CD 中直接使用登录密码
1. Docker Hub -> Account Settings -> Security -> Access Tokens 创建 Token
@@ -103,7 +115,7 @@ $ docker push username/myapp:v1
$ docker login -u username -p dckr_pat_xxxxxxx
```
#### 3. 关注镜像漏洞
#### 3关注镜像漏洞
Docker Hub 会对官方镜像和付费用户的镜像进行安全扫描在镜像标签页可以看到漏洞扫描结果
@@ -111,7 +123,7 @@ Docker Hub 会对官方镜像和付费用户的镜像进行安全扫描。在镜
### Webhooks
当镜像被推送时可以自动触发 HTTP 回调例如通知 CI 系统部署
当镜像被推送时可以自动触发 HTTP 回调 (例如通知 CI 系统部署)
**配置方法**
仓库页面 -> Webhooks -> Create Webhook

View File

@@ -8,6 +8,12 @@
### 安装运行 docker-registry
本节涵盖了相关内容与详细描述主要探讨以下几个方面
#### 概述
总体概述了以下内容
#### 容器运行
如果您需要搭建私有仓库可以通过官方提供的 `registry` 镜像快速部署
@@ -99,12 +105,16 @@ REPOSITORY TAG IMAGE ID CREAT
这是因为 Docker 默认不允许非 `HTTPS` 方式推送镜像我们可以通过 Docker 的配置选项来取消这个限制或者查看下一节配置能够通过 `HTTPS` 访问的私有仓库
#### Linuxsystemd
#### 概述
总体概述了以下内容
#### Linux
默认情况下Docker 强制使用 HTTPS 协议推送镜像如果您搭建的私有仓库是 HTTP 协议需要进行如下配置
对于使用 `systemd` 的系统请在 `/etc/docker/daemon.json` 中写入如下内容如果文件不存在请新建该文件
对于使用 `systemd` 的系统请在 `/etc/docker/daemon.json` 中写入如下内容 (如果文件不存在请新建该文件)
```json
{
@@ -122,4 +132,4 @@ REPOSITORY TAG IMAGE ID CREAT
### 其他
对于 Docker Desktop for Windows Docker Desktop for Mac 在设置中的 `Docker Engine` 中进行编辑 增加和上边一样的字符串即可
对于 Docker Desktop for WindowsDocker Desktop for Mac 在设置中的 `Docker Engine` 中进行编辑增加和上边一样的字符串即可

View File

@@ -140,7 +140,7 @@ $ docker run --rm \
### 编辑 Docker Compose 配置
编辑 `compose.yaml` `docker-compose.yml`配置如下
编辑 `compose.yaml` ( `docker-compose.yml`) 配置如下
```yaml
services:

View File

@@ -1,6 +1,6 @@
## 6.4 Nexus 3
使用 Docker 官方的 Registry 创建的仓库面临一些维护问题比如某些镜像删除以后空间默认是不会回收的需要一些命令去回收空间然后重启 Registry在企业中把内部的一些工具包放入 `Nexus` 中是比较常见的做法最新版本 `Nexus3.x` 全面支持 Docker 的私有镜像所以使用 [`Nexus3.x`](https://www.sonatype.com/product/repository-oss-download) 一个软件来管理 `Docker` , `Maven` , `Yum` , `PyPI` 等是一个明智的选择。
使用 Docker 官方的 Registry 创建的仓库面临一些维护问题比如某些镜像删除以后空间默认是不会回收的需要一些命令去回收空间然后重启 Registry在企业中把内部的一些工具包放入 `Nexus` 中是比较常见的做法最新版本 `Nexus3.x` 全面支持 Docker 的私有镜像所以使用 [`Nexus3.x`](https://www.sonatype.com/product/repository-oss-download) 一个软件来管理 `Docker``Maven``Yum``PyPI` 等是一个明智的选择。
### 启动 Nexus 容器
@@ -36,17 +36,17 @@ $ docker exec nexus3 cat /nexus-data/admin.password
9266139e-41a2-4abb-92ec-e4142a3532cb
```
首次启动 Nexus 的默认帐号是 `admin` 密码则是上边命令获取到的点击右上角登录首次登录需更改初始密码
首次启动 Nexus 的默认帐号是 `admin`密码则是上边命令获取到的点击右上角登录首次登录需更改初始密码
登录之后可以点击页面上方的齿轮按钮按照下面的方法进行设置
### 创建仓库
创建一个私有仓库的方法 `Repository->Repositories` 点击右边菜单 `Create repository` 选择 `docker (hosted)`
创建一个私有仓库的方法`Repository->Repositories` 点击右边菜单 `Create repository` 选择 `docker (hosted)`
* **Name**: 仓库的名称
* **HTTP**: 仓库单独的访问端口例如**5001**
* **Hosted -> Deployment policy**: 请选择**Allow redeploy** 否则无法上传 Docker 镜像
* **Name**仓库的名称
* **HTTP**仓库单独的访问端口 (例如**5001**)
* **Hosted -> Deployment policy**请选择 **Allow redeploy** 否则无法上传 Docker 镜像
其它的仓库创建方法请各位自己摸索还可以创建一个 `docker (proxy)` 类型的仓库链接到 DockerHub 再创建一个 `docker (group)` 类型的仓库把刚才的 `hosted` `proxy` 添加在一起主机在访问的时候默认下载私有仓库中的镜像如果没有将链接到 DockerHub 中下载并缓存到 Nexus
@@ -115,7 +115,7 @@ server {
### Docker 主机访问镜像仓库
如果不启用 SSL 加密可以通过 [前面章节](6.2_registry.md) 的方法添加非 https 仓库地址到 Docker 的配置文件中然后重启 Docker
如果不启用 SSL 加密可以通过[前面章节](6.2_registry.md)的方法添加非 https 仓库地址到 Docker 的配置文件中然后重启 Docker
使用 SSL 加密以后程序需要访问就不能采用修改配置的方式了具体方法如下

View File

@@ -1,7 +1,7 @@
# 第六章 访问仓库
# 第六章访问仓库
仓库`Repository`是集中存放镜像的地方
仓库 (`Repository`) 是集中存放镜像的地方
一个容易混淆的概念是注册服务器`Registry`实际上注册服务器是管理仓库的具体服务器每个服务器上可以有多个仓库而每个仓库下面有多个镜像从这方面来说仓库可以被认为是一个具体的项目或目录例如对于仓库地址 `docker.io/ubuntu` 来说`docker.io` 是注册服务器地址`ubuntu` 是仓库名
一个容易混淆的概念是注册服务器 (`Registry`)实际上注册服务器是管理仓库的具体服务器每个服务器上可以有多个仓库而每个仓库下面有多个镜像从这方面来说仓库可以被认为是一个具体的项目或目录例如对于仓库地址 `docker.io/ubuntu` 来说`docker.io` 是注册服务器地址`ubuntu` 是仓库名
大部分时候并不需要严格区分这两者的概念

View File

@@ -7,6 +7,10 @@
| **安全** | 推荐开启 2FA 并使用 Access Token |
| **自动化** | 支持 Webhooks 和自动构建 |
### 概述
总体概述了以下内容
### 延伸阅读
- [私有仓库](6.2_registry.md)搭建自己的 Registry