公共存储库可用于托管可供其他所有人使用的Docker映像。一个示例是Docker Hub中可用的映像。Centos,Ubuntu和Jenkins等大多数映像都可以公开获得。我们还可以通过将image镜像发布到Docker Hub上的公共存储库来使其可用。
对于我们的示例,我们将使用“构建Docker文件”一章中构建的myimage存储库,并将该image镜像上载到Docker Hub。首先,让我们回顾一下Docker主机上的映像,以了解可以推送到Docker注册表的内容。
在这里,我们有myimage:0.1映像,它是“ Building Docker Files”一章的一部分。让我们使用它上传到Docker公共存储库。
以下步骤说明了如何将image镜像上载到公共存储库。
步骤1-登录Docker Hub并创建您的存储库。这是存储image镜像的存储库。转到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标签
这种方法允许将image镜像标记到相关存储库中。
语法
docker tag imageID Repositoryname
参数
- imageID-这是需要标记到存储库的ImageID。
- Repositoryname-这是需要将ImageID标记到的存储库名称。
输出
无
例
sudo docker tag ab0c1d3744dd demousr/demorep:1.0
结果
上面示例的输出示例如下。
docker推
这种方法允许将映像推送到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中获取了我们的新存储库并将其放置在我们的机器上。