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命令 完成这个操作。
在本章后面我们将更多地了解 tag命令 。
步骤4 − 在命令提示符中使用Docker登录命令登录到Docker Hub仓库。Docker登录命令会要求您输入Docker Hub仓库的用户名和密码。
步骤5 − 图像已被标记,现在是将图像推送到Docker Hub存储库的时候了。我们可以通过Docker push 命令来实现。我们将在本章后面学习更多关于这个命令的知识。
docker tag
该方法允许将图像标记到相关的存储库。
语法
docker tag imageID Repositoryname
选项
- imageID - 需要标记到存储库的ImageID。
-
Repositoryname - 需要将ImageID标记到的存储库名称。
返回值
无
示例
sudo docker tag ab0c1d3744dd demousr/demorep:1.0
输出
上述示例的样本输出如下所示。
docker push
此方法可以将镜像推送到Docker Hub。
语法
docker push Repositoryname
选项
- Repositoryname - 这是需要推送到Docker Hub的存储库名称。
返回值
被推送到Docker Hub的存储库的长ID。
示例
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上取得了我们的新仓库,并将其放置在我们的机器上。