Repositories

预计阅读时间:6分钟

Docker Hub 存储库允许您与您的团队、客户或整个 Docker 社区共享容器映像.

Docker 镜像通过docker push命令推送到 Docker Hub. 单个 Docker Hub 存储库可以保存许多 Docker 映像(存储为tags ).

Creating repositories

要创建存储库,请登录 Docker Hub,单击存储库,然后单击创建存储库

Create repo

When creating a new repository:

  • 您可以选择将其放在您的 Docker ID 命名空间中,或者放在您作为所有者的任何组织中.
  • 存储库名称在该命名空间中必须是唯一的,可以是 2 到 255 个字符,并且只能包含小写字母、数字、连字符 ( - ) 和下划线 ( _ ).

    Note:

    创建 Docker Hub 存储库后,您将无法对其进行重命名.

  • 描述最多可包含 100 个字符,并在搜索结果中使用.
  • 您现在可以链接 GitHub 或 Bitbucket 帐户,或者选择稍后在存储库设置中进行链接.

Setting page for creating a repo

点击Create按钮后,您可以开始使用docker push将图像推送到此存储库.

Deleting a repository

  1. 登录Docker Hub并单击Repositories .

  2. 从列表中选择一个存储库,单击设置,然后单击删除存储库.

Note:

删除存储库会删除它包含的所有图像及其构建设置. 此操作无法撤消.

  1. 输入存储库的名称以确认删除,然后单击删除.

Pushing a Docker container image to Docker Hub

要将镜像推送到 Docker Hub,您必须首先使用您的 Docker Hub 用户名和您通过 Web 上的 Docker Hub 创建的存储库名称来命名您的本地镜像.

您可以通过向存储库添加特定的:<tag>来将多个图像添加到存储库(例如docs/base:testing ). 如果未指定,则标签默认为latest .

使用以下方法之一命名您的本地图像:

  • 当你构建它们时,使用docker build -t <hub-user>/<repo-name>[:<tag>]
  • 通过重新标记现有的本地图像docker tag <existing-image> <hub-user>/<repo-name>[:<tag>]
  • 通过使用docker commit <existing-container> <hub-user>/<repo-name>[:<tag>]提交更改

现在您可以将此存储库推送到由其名称或标签指定的注册表.

$ docker push <hub-user>/<repo-name>:<tag>

然后上传图像,供您的队友和/或社区使用.

Private repositories

私有存储库可让您将容器映像保密,无论是对您自己的帐户还是在组织或团队中.

要创建私有仓库,请在创建仓库时选择Private

Create Private Repo

您还可以通过转到其设置选项卡将现有存储库设为私有:

Convert Repo to Private

您可以使用 Docker Hub 用户帐户免费获得一个私有存储库(不适用于您所属的组织). 如果您的用户帐户需要更多私有存储库,请从您的账单信息页面升级您的 Docker Hub 计划.

创建私有存储库后,您可以使用 Docker 将图像pushpull .

注意:您需要登录并有权使用私有存储库.

注意:私有存储库目前无法通过顶级搜索或docker search .

您可以指定协作者并从该存储库的"设置"页面管理他们对私有存储库的访问. 如果您有可用的存储库插槽打开,您还可以在公共和私有之间切换存储​​库的状态. 否则,您可以升级Docker Hub计划.

Collaborators and their role

协作者是您希望授予对私有存储库的访问权限的人. 指定后,他们可以pushpull您的存储库. 他们不允许执行任何管理任务,例如删除存储库或将其状态从私有更改为公共.

Note

协作者不能添加其他协作者. 只有存储库的所有者具有管理权限.

您还可以使用组织和团队在 Docker Hub 上分配更精细的协作者权限("读取"、"写入"或"管理员"). 有关详细信息,请参阅组织文档.

Viewing repository tags

Docker Hub 的单个存储库视图向您显示可用的标签和相关图像的大小. 转到存储库视图并单击存储库以查看其标签.

Repository View

View Repo Tags

图像大小是图像及其所有父图像占用的累积空间. 这也是docker save图像时创建的.tar文件的内容所使用的磁盘空间.

要查看单个标签,请单击标签选项卡.

Manage Repo Tags

如果超过 1 个月没有推/拉活动,则图像被认为是陈旧的,即:

  • 超过1个月没有拉
  • 而且已经1个多月没有推送了

如果其清单中的所有单架构图像部分都是陈旧的,则多架构图像被认为是陈旧的.

要删除标签,请选中相应的复选框,然后从操作下拉列表中选择删除.

Note

只有对存储库具有管理访问权限的用户(所有者或具有管理员权限的团队成员)才能删除标签.

选择标签的摘要以查看详细信息.

View Tag

Searching for Repositories

您可以通过其搜索界面或使用命令行界面搜索Docker Hub注册表. 搜索可以按图片名称、用户名或描述查找图片:

$ docker search centos

NAME                                 DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
centos                               The official build of CentOS.                   1034      [OK]
ansible/centos7-ansible              Ansible on Centos7                              43                   [OK]
tutum/centos                         Centos image with SSH access. For the root...   13                   [OK]
...

在那里你可以看到两个示例结果: centosansible/centos7-ansible . 第二个结果表明它来自名为ansible/的用户的公共存储库,而第一个结果centos没有明确列出存储库,这意味着它来自Docker Official Images的顶级命名空间. /字符将用户的存储库与图像名称分开.

找到所需的图像后,可以使用docker pull <imagename>下载它:

$ docker pull centos

latest: Pulling from centos
6941bfcbbfca: Pull complete
41459f052977: Pull complete
fd44297e2ddb: Already exists
centos:latest: The image you are pulling has been verified. Important: image verification is a tech preview feature and should not be relied on to provide security.
Digest: sha256:d601d3b928eb2954653c59e65862aabb31edefa868bd5148a41fa45004c12288
Status: Downloaded newer image for centos:latest

您现在有了一个可以运行容器的映像.

Starring Repositories

您的存储库可以加星标,您也可以为存储库加星标作为回报. 星号是表明您喜欢存储库的一种方式. 它们也是为收藏夹添加书签的一种简单方法.

Docker, docker, trusted, registry, accounts, plans, Dockerfile, 码头工人中心, webhooks, docs, documentation

by  icopy.site