公共存储库可用于托管可由其他人使用的Docker镜像.一个例子是Docker Hub中可用的镜像.大多数镜像,如Centos,Ubuntu和Jenkins都是公开的.我们还可以通过将它们发布到Docker Hub上的公共存储库来使我们的镜像可用.
对于我们的示例,我们将使用"Building Docker Files"一章中构建的myimage存储库,并将该图像上传到Docker Hub。 首先,让我们回顾一下Docker主机上的图像,看看可以推送到Docker注册表的内容。
在这里,我们有 myimage:0.1 镜像,它是作为"建筑码头文件"章节的一部分创建的.让我们使用它来上传到Docker公共存储库.
以下步骤说明如何将镜像上传到公共存储库.
第1步 : 登录Docker Hub并创建存储库.这是存储镜像的存储库.转到 https://hub.docker.com/ 并使用您的凭据登录.
第2步 : 单击上面屏幕上的"Create Repository"按钮,创建一个名为 demorep 的存储库.确保存储库的可见性是公开的.
创建存储库后,请记下附加到存储库的 pull 命令.
将在我们的存储库中使用的 pull 命令如下 :
docker pull demousr/demorep
第3步 : 现在回到Docker主机.在这里,我们需要将 myimage 标记为在Docker Hub中创建的新存储库.我们可以通过Docker 标记命令来完成.
我们将在本章后面详细了解这个标记命令.
第4步 : 发出Docker login命令从命令提示符登录Docker Hub存储库. Docker登录命令将提示您输入Docker Hub存储库的用户名和密码.
第5步 : 镜像被标记后,现在是时候将镜像推送到Docker Hub存储库了.我们可以通过Docker push 命令完成此操作.我们将在本章后面详细了解该命令.
docker tag
此方法允许用户将镜像标记到相关的存储库.
语法
docker tag imageID Repositoryname
选项
imageID : 这是需要标记到存储库的ImageID.
存储库名称 : 这是ImageID需要标记到的存储库名称.
返回值
无
示例
sudo docker tag ab0c1d3744dd demousr/demorep:1.0
输出
上面给出了上面例子的示例输出.
docker push
此方法允许用户将镜像推送到Docker Hub.
语法
docker push 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获取了我们的新存储库并将其放在我们的机器上./