正式的Docker注册表包含许多预先构建的映像和公共可用的自定义映像,这些映像非常有用,并且用户可以在其本地计算机上轻松提取它们,并将其用作其项目的基础映像。实际上,您还可以使用这些公共可用的docker映像之一来构建自己的自定义docker映像,并以公共或私有模式将其推回。
在本文中,我们将讨论如何通过命令行界面使用search命令搜索docker映像。我们还将看到如何根据某些参数过滤搜索结果。之后,我们将看到如何拉出这些图像并使用docker pull和list命令列出本地计算机中所有拉出的图像。
要开始构建容器或图像,我们需要在dockerfile中指定一个基础图像,以便在该基础图像之上,我们可以构建自己的自定义图像层并安装软件包,库等。这些基本映像在称为dockerhub的官方Docker注册表中可用。要使用它,您需要在dockerhub上创建一个帐户,并且需要使用docker login命令通过命令行登录到该帐户。它将要求您提供用户名,电子邮件和密码以供您登录。之后,我们可以使用docker search命令搜索基本映像。您可以使用以下命令进行操作。
sudo docker search <term>
为了生成该术语,您需要输入与该图像相关的名称或关键字,以便生成可在dockerhub上使用的相似图像的列表。
例如,要搜索ubuntu图像,可以使用以下命令。
sudo docker search ubuntu
要搜索busybox图像,可以使用-
sudo docker search busybox
搜索命令的输出将包含与搜索词有关的图像列表以及其他参数,例如名称,自动名称,星号,描述,正式名称。
名称字段包含图像的名称,描述字段包含有关图像的简短描述,star参数包含用户给定的星星数量,Official参数指定图像是官方图像还是来自可信来源的图像,以及自动功能会告诉您是否可以通过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选项与command一起使用
sudo docker search −−help
拥有映像名称后,可以使用以下命令提取docker映像。
sudo docker pull <image−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用户提供了一站式服务,以获取可供所有人公开使用的大量官方基础和/或自定义图像。