从Dockerhub搜索和拉取Docker镜像
官方Docker注册表包含许多预构建的镜像和公开可用的自定义镜像,这些镜像非常有用,用户可以轻松地将其拉取到本地机器上,并将其用作项目的基准镜像。事实上,您还可以使用这些公开可用的Docker镜像构建自己的自定义Docker镜像,并将其以公开或私有模式推送回去。
在本文中,我们将讨论如何使用命令行界面中的搜索命令搜索Docker镜像。我们还将了解如何根据某些参数过滤搜索结果。之后,我们将了解如何拉取这些镜像,并使用docker pull和list命令列出您本地机器上所有已拉取的镜像。
要开始构建容器或镜像,我们需要在Dockerfile中指定一个基础镜像,以便在此基础镜像之上,我们可以构建我们自己的自定义镜像层,并安装软件包、库等等。这些基础镜像可在官方Docker注册表(称为Dockerhub)中找到。要使用它,您需要在Dockerhub上创建一个帐户,并需要使用docker login命令通过命令行登录到该帐户。它会要求您提供用户名、电子邮件和密码才能登录。之后,我们可以使用docker search命令搜索我们的基础镜像。您可以使用以下命令执行此操作。
sudo docker search <term>
在该术语的相应位置,您需要输入与该镜像相关的名称或关键字,以便生成Dockerhub上可用相似镜像的列表。
例如,要搜索ubuntu镜像,可以使用以下命令。
sudo docker search ubuntu
要搜索busybox镜像,可以使用:
sudo docker search busybox
搜索命令的输出将包含与搜索词相关的镜像列表以及其他参数,例如名称、自动化、星级、描述、官方。
名称字段包含镜像的名称,描述字段包含关于镜像的简短描述,星级参数包含用户给予的星级数量,官方参数指定镜像是否为官方镜像或来自受信任的来源,自动化功能会告诉您是否可以自动使用github或bitbucket推送构建镜像。
您还可以使用docker search命令中的filter选项过滤搜索结果。
例如,如果您想查找与搜索词相关的至少有20颗星的镜像列表,可以使用以下命令。
sudo docker search −−filter=stars=30 ubuntu
如果您想查找与您的搜索查询相关的镜像列表,并过滤自动化参数应为true,可以使用以下命令:
sudo docker search filter=is-automated=true ubuntu
要了解更多关于docker search命令的信息,您可以始终使用命令的help选项。
sudo docker search −−help
拥有镜像名称后,您可以使用以下命令拉取Docker镜像。
sudo docker pull <image−name>:<tag−name>
这里,tag-name指定带有特定标签的镜像。如果您不指定标签名称,它将自动拉取最新发布的镜像。例如,您可以使用带有标签3的python拉取python 3镜像,或者使用带有标签7的centos拉取centos 7镜像。
docker pull命令示例:
sudo docker pull python:3 sudo docker pull ubuntu
如果您想拉取与镜像名称关联的所有标记的镜像,可以使用--all-tags选项以及pull命令。
请参见下面的示例。
sudo docker pull −−all−tags python
要列出您已从Docker注册表拉取到本地机器上的所有镜像,可以使用以下命令。
sudo docker images
以上命令将生成本地系统中所有正在运行的镜像列表,包括标签名称、镜像ID、镜像大小和创建日期。
总而言之,使用过滤后的搜索方法生成官方Docker注册表中所有可用Docker镜像的列表,可以让您选择最佳镜像,还可以根据其在全球用户中获得的点赞或星级数量对镜像进行排序。此外,标记镜像可以让您了解镜像的最新版本或已嵌入其中的最新功能,以便您可以获得最新的或更新的镜像供个人使用。因此,Dockerhub为所有Docker用户提供了一站式服务,可以获得大量公开可用的官方基础和/或自定义镜像。