什么是注册中心?
解释
既然您知道了什么是容器镜像以及它是如何工作的,您可能会想——这些镜像存放在哪里?
嗯,您可以将容器镜像存储在您的计算机系统上,但如果您想与朋友分享或在另一台机器上使用它们呢?这就是镜像注册中心(image registry)发挥作用的地方。
镜像注册中心是用于存储和共享容器镜像的集中式位置。它可以是公共的,也可以是私有的。Docker Hub 是任何人都可以使用的公共注册中心,也是默认的注册中心。
虽然 Docker Hub 是一个受欢迎的选择,但如今还有许多其他可用的容器注册中心,包括 Amazon Elastic Container Registry (ECR)、Azure Container Registry (ACR) 和 Google Container Registry (GCR)。您甚至可以在本地系统或组织内部运行自己的私有注册中心。例如,Harbor、JFrog Artifactory、GitLab Container registry 等。
注册中心与仓库
当您使用注册中心时,您可能会听到注册中心(registry)和仓库(repository)这两个术语,好像它们可以互换使用。尽管它们相关,但并不完全相同。
注册中心是存储和管理容器镜像的集中式位置,而仓库是注册中心内相关容器镜像的集合。可以把它想象成一个文件夹,您可以在其中根据项目组织您的镜像。每个仓库包含一个或多个容器镜像。
下图显示了注册中心、仓库和镜像之间的关系。
注意使用免费版的 Docker Hub,您可以创建一个私有仓库和无限个公共仓库。有关更多信息,请访问 Docker Hub 订阅页面。
试一试
在这个实践操作中,您将学习如何构建 Docker 镜像并将其推送到 Docker Hub 仓库。
注册免费的 Docker 帐户
如果您还没有创建 Docker 帐户,请前往 Docker Hub 页面注册一个新的 Docker 帐户。

您可以使用您的 Google 或 GitHub 帐户进行身份验证。
创建您的第一个仓库
登录 Docker Hub。
选择右上角的 Create repository 按钮。
选择您的命名空间(很可能是您的用户名),并输入
docker-quickstart作为仓库名称。

将可见性设置为 Public(公开)。
选择 Create 按钮以创建仓库。
就这样。您已成功创建了您的第一个仓库。🎉
这个仓库现在是空的。您现在将通过推送一个镜像来填充它。
使用 Docker Desktop 登录
- 如果尚未安装,请下载并安装 Docker Desktop。
- 在 Docker Desktop 图形界面中,选择右上角的 Sign in(登录)按钮。
克隆 Node.js 示例代码
为了创建镜像,您首先需要一个项目。为了让您快速入门,您将使用一个位于 github.com/dockersamples/helloworld-demo-node 的示例 Node.js 项目。这个仓库包含一个构建 Docker 镜像所需的预构建 Dockerfile。
不用担心 Dockerfile 的具体细节,您将在后面的章节中学到这些。
使用以下命令克隆 GitHub 仓库:
git clone https://github.com/dockersamples/helloworld-demo-node导航到新创建的目录中。
cd helloworld-demo-node运行以下命令来构建一个 Docker 镜像,将 `YOUR_DOCKER_USERNAME` 替换为您的用户名。
docker build -t <YOUR_DOCKER_USERNAME>/docker-quickstart .注意请确保在 `docker build` 命令的末尾包含点(.)。这会告诉 Docker 在哪里找到 Dockerfile。
运行以下命令列出新创建的 Docker 镜像:
docker images你将看到类似以下的输出:
REPOSITORY TAG IMAGE ID CREATED SIZE <YOUR_DOCKER_USERNAME>/docker-quickstart latest 476de364f70e 2 minutes ago 170MB通过运行以下命令启动一个容器来测试该镜像(将用户名替换为您自己的用户名):
docker run -d -p 8080:8080 <YOUR_DOCKER_USERNAME>/docker-quickstart您可以通过在浏览器中访问 https://:8080 来验证容器是否正常工作。
使用 `docker tag` 命令为 Docker 镜像打标签。Docker 标签允许您为镜像添加标签和版本。
docker tag <YOUR_DOCKER_USERNAME>/docker-quickstart <YOUR_DOCKER_USERNAME>/docker-quickstart:1.0最后,是时候使用 `docker push` 命令将新构建的镜像推送到您的 Docker Hub 仓库了。
docker push <YOUR_DOCKER_USERNAME>/docker-quickstart:1.0打开 Docker Hub 并导航到您的仓库。导航到 Tags(标签)部分,查看您新推送的镜像。

在这个演练中,您注册了一个 Docker 帐户,创建了您的第一个 Docker Hub 仓库,并构建、标记了一个容器镜像,然后将其推送到了您的 Docker Hub 仓库。
其他资源
后续步骤
既然您已经了解了容器和镜像的基础知识,您就可以开始学习 Docker Compose 了。
什么是 Docker Compose?