Docker - 公共存储库

公共存储库可用于托管可由其他人使用的Docker镜像.一个例子是Docker Hub中可用的镜像.大多数镜像,如Centos,Ubuntu和Jenkins都是公开的.我们还可以通过将它们发布到Docker Hub上的公共存储库来使我们的镜像可用.

对于我们的示例,我们将使用"Building Docker Files"一章中构建的myimage存储库,并将该图像上传到Docker Hub。 首先,让我们回顾一下Docker主机上的图像,看看可以推送到Docker注册表的内容。

Myimage

在这里,我们有 myimage:0.1 镜像,它是作为"建筑码头文件"章节的一部分创建的.让我们使用它来上传到Docker公共存储库.

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

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

Docker Hub

第2步 : 单击上面屏幕上的"Create Repository"按钮,创建一个名为 demorep 的存储库.确保存储库的可见性是公开的.

Demorep

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

存储库

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

 
 docker pull demousr/demorep

第3步 : 现在回到Docker主机.在这里,我们需要将 myimage 标记为在Docker Hub中创建的新存储库.我们可以通过Docker 标记命令来完成.

我们将在本章后面详细了解这个标记命令.

第4步 : 发出Docker login命令从命令提示符登录Docker Hub存储库. Docker登录命令将提示您输入Docker Hub存储库的用户名和密码.

Docker Login Command

第5步 : 镜像被标记后,现在是时候将镜像推送到Docker Hub存储库了.我们可以通过Docker push 命令完成此操作.我们将在本章后面详细了解该命令.

docker tag

此方法允许用户将镜像标记到相关的存储库.

语法

 
 docker tag imageID Repositoryname

选项

  • imageID : 这是需要标记到存储库的ImageID.

  • 存储库名称 : 这是ImageID需要标记到的存储库名称.

返回值

示例

 
 sudo docker tag ab0c1d3744dd demousr/demorep:1.0

输出

上面给出了上面例子的示例输出.

Docker Tag

docker push

此方法允许用户将镜像推送到Docker Hub.

语法

 
 docker push Repositoryname

选项

  • 存储库名称 : 这是需要推送到Docker Hub的存储库名称.

返回值

存储库的长ID被推送到Docker Hub.

示例

 
 sudo docker push demousr/demorep:1.0

输出

 Docker Push

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

存储库中的标记名称

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

 Docker Pull命令

从上面的屏幕截图中,您可以看到Docker pull 命令从Docker Hub获取了我们的新存储库并将其放在我们的机器上./