📅  最后修改于: 2020-11-01 03:14:24             🧑  作者: Mango
公共存储库可用于托管可供其他所有人使用的Docker映像。一个示例是Docker Hub中可用的映像。 Centos,Ubuntu和Jenkins等大多数映像都可以公开获得。我们还可以通过将图像发布到Docker Hub上的公共存储库来使其可用。
对于我们的示例,我们将使用“构建Docker文件”一章中构建的myimage存储库,并将该图像上载到Docker Hub。首先,让我们回顾一下Docker主机上的映像,以了解可以推送到Docker注册表的内容。
在这里,我们有myimage:0.1映像,它是“ Building Docker Files”一章的一部分。让我们使用它上传到Docker公共存储库。
以下步骤说明了如何将图像上载到公共存储库。
步骤1-登录Docker Hub并创建您的存储库。这是存储图像的存储库。转到https://hub.docker.com/并使用您的凭据登录。
步骤2-单击上方屏幕上的“创建存储库”按钮,并使用名称demorep创建存储库。确保存储库的可见性是公开的。
创建存储库后,记下附加到存储库的pull命令。
将在我们的存储库中使用的pull命令如下-
docker pull demousr/demorep
步骤3-现在回到Docker Host。在这里,我们需要将myimage标记为在Docker Hub中创建的新存储库。我们可以通过Docker tag命令执行此操作。
我们将在本章后面的内容中进一步了解此tag命令。
步骤4-发出Docker login命令以从命令提示符登录到Docker Hub存储库。 Docker登录命令将提示您输入Docker Hub存储库的用户名和密码。
步骤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的存储库名称。
存储库的长ID推送到Docker Hub。
sudo docker push demousr/demorep:1.0
如果返回到Docker Hub页面并转到存储库,您将在存储库中看到标签名称。
现在,让我们尝试将上传的存储库拉到Docker主机上。首先,从本地Docker主机删除映像myimage:0.1和demousr / demorep:1.0 。让我们使用Docker pull命令从Docker Hub中提取存储库。
从上面的屏幕截图中,您可以看到Docker pull命令已经从Docker Hub中获取了我们的新存储库并将其放置在我们的机器上。