Docker - 公共存储库


公共存储库可用于托管可供其他人使用的 Docker 映像。Docker Hub 中提供的映像就是一个示例。大多数镜像(例如 Centos、Ubuntu 和 Jenkins)都是公开的。我们还可以通过将图像发布到 Docker Hub 上的公共存储库来提供图像。

对于我们的示例,我们将使用“构建 Docker 文件”一章中构建的myimage存储库,并将该映像上传到 Docker Hub。我们首先查看 Docker 主机上的映像,看看可以将哪些内容推送到 Docker 注册表。

我的形象

在这里,我们有myimage:0.1镜像,它是作为“构建 Docker 文件”一章的一部分创建的。让我们用它上传到 Docker 公共存储库。

以下步骤说明如何将图像上传到公共存储库。

步骤 1 - 登录 Docker Hub 并创建存储库。这是将存储您的图像的存储库。转到https://hub.docker.com/并使用您的凭据登录。

码头工人中心

步骤 2 - 单击上面屏幕上的“创建存储库”按钮,并创建一个名为demorep 的存储库。确保存储库的可见性是公开的。

德莫雷普

创建存储库后,记下附加到存储库的pull命令。

存储库

将在我们的存储库中使用的pull命令如下 -

docker pull demousr/demorep

步骤 3 - 现在返回 Docker 主机。在这里,我们需要将myimage标记到 Docker Hub 中创建的新存储库。我们可以通过 Docker tag 命令来做到这一点。

我们将在本章后面了解有关此标签命令的更多信息。

步骤 4 - 发出 Docker 登录命令,从命令提示符登录 Docker Hub 存储库。Docker 登录命令将提示您输入 Docker Hub 存储库的用户名和密码。

Docker登录命令

步骤 5 - 标记镜像后,就可以将镜像推送到 Docker Hub 存储库了。我们可以通过 Docker Push命令来完成此操作。我们将在本章后面详细了解该命令。

泊坞窗标签

此方法允许将图像标记到相关存储库。

句法

docker tag imageID Repositoryname 

选项

  • imageID - 这是需要标记到存储库的 ImageID。

  • Repositoryname - 这是 ImageID 需要标记到的存储库名称。

返回值

没有任何

例子

sudo docker tag ab0c1d3744dd demousr/demorep:1.0

输出

下面给出了上述示例的示例输出。

泊坞窗标签

码头工人推

此方法允许将镜像推送到 Docker Hub。

句法

docker push Repositoryname 

选项

  • Repositoryname - 这是需要推送到 Docker Hub 的存储库名称。

返回值

推送到 Docker Hub 的存储库的长 ID。

例子

sudo docker push demousr/demorep:1.0 

输出

Docker 推送

如果您返回 Docker Hub 页面并转到您的存储库,您将在存储库中看到标签名称。

存储库中的标签名称

现在让我们尝试将我们上传到 Docker 主机的存储库拉取。首先,我们从本地 Docker 主机中删除镜像myimage:0.1demousr/demorep:1.0 。让我们使用 Docker pull 命令从 Docker Hub 中提取存储库。

Docker 拉取命令

从上面的屏幕截图中,您可以看到 Docker pull命令已从 Docker Hub 获取我们的新存储库并将其放置在我们的计算机上。