# 第六章 访问仓库

仓库 (`Repository`) 是集中存放镜像的地方。

一个容易混淆的概念是注册服务器 (`Registry`)。实际上注册服务器是管理仓库的具体服务器，每个服务器上可以有多个仓库，而每个仓库下面有多个镜像。从这方面来说，仓库可以被认为是一个具体的项目或目录。例如对于仓库地址 `docker.io/ubuntu` 来说，`docker.io` 是注册服务器地址，`ubuntu` 是仓库名。

大部分时候，并不需要严格区分这两者的概念。

## 为什么需要私有仓库？

在讨论具体的安装和配置前，让我们先理解：**什么时候你应该建设私有仓库？**

**开发团队**（有专利代码、不能公开）：

* 需要私有仓库存储内部镜像
* 涉及访问控制和审计
* 强烈推荐使用托管方案（如 Harbor 或云厂商提供的镜像仓库）

**开源项目或个人学习**：

* Docker Hub 公开仓库足够
* 无需自建私有仓库的成本

**企业级部署**：

* 需要高可用、备份、灾难恢复
* 推荐使用专业级方案（Nexus 3、Harbor）而非简单的 Registry

本章涵盖的方案从简到复杂：

* Docker Registry：最小化部署（适合简单场景）
* 私有仓库高级配置：添加认证、HTTPS 等生产必需项
* Nexus 3：企业级完整解决方案，支持权限管理、备份等

## 本章内容

* [Docker Hub](https://yeasy.gitbook.io/docker_practice/di-yi-bu-fen-ru-men-pian/06_repository/6.1_dockerhub)
* [私有仓库](https://yeasy.gitbook.io/docker_practice/di-yi-bu-fen-ru-men-pian/06_repository/6.2_registry)
* [私有仓库高级配置](https://yeasy.gitbook.io/docker_practice/di-yi-bu-fen-ru-men-pian/06_repository/6.3_registry_auth)
* [Nexus 3](https://yeasy.gitbook.io/docker_practice/di-yi-bu-fen-ru-men-pian/06_repository/6.4_nexus3_registry)
