1. docker search
1.1. 描述
从 Docker Hub
查找镜像。
这个参数 ( -f
或 --filter
) 的格式是 key=value
对,如果有1个或多个过滤条件,可以多次指定--filter "foo=bar" --filter "bif=baz"
。
当前支持的过滤条件有:
- starts : int 整形,镜像已经有的关注数
- is-automated : boolean 类型,true 或 false,这个镜像是否是自动构建
- is-official :boolean 类型,true 或 false,这个镜像是否是官方的
1.2. 帮助
$ docker search --help
Usage: docker search [OPTIONS] TERM
Search the Docker Hub for images
Options:
-f, --filter filter Filter output based on conditions provided
--format string Pretty-print search using a Go template
--limit int Max number of search results (default 25)
--no-trunc Don't truncate output
1.3. 选项
选项,简写 | 默认值 | 描述 |
---|---|---|
--filter , -f | 根据提供的条件过滤输出 | |
--format | 使用Go模板进行漂亮的显示搜索 | |
--limit | 25 | 最多搜索结果数。在查找镜像时可以通过指定 --limit 参数显示一定数量的返回结果。该值范围是1~100,默认是显示25个。 |
--no-trunc | 不要截断输出 |
1.4. 示例
1.4.1. 搜索一个容器
$ docker search busybox
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
busybox Busybox base image. 316 [OK]
progrium/busybox 50 [OK]
radial/busyboxplus Full-chain, Internet enabled, busybox made... 8 [OK]
odise/busybox-python 2 [OK]
azukiapp/busybox This image is meant to be used as the base... 2 [OK]
ofayau/busybox-jvm Prepare busybox to install a 32 bits JVM. 1 [OK]
shingonoide/archlinux-busybox Arch Linux, a lightweight and flexible Lin... 1 [OK]
odise/busybox-curl 1 [OK]
ofayau/busybox-libc32 Busybox with 32 bits (and 64 bits) libs 1 [OK]
peelsky/zulu-openjdk-busybox 1 [OK]
skomma/busybox-data Docker image suitable for data volume cont... 1 [OK]
elektritter/busybox-teamspeak Lightweight teamspeak3 container based on... 1 [OK]
socketplane/busybox 1 [OK]
oveits/docker-nginx-busybox This is a tiny NginX docker image based on... 0 [OK]
ggtools/busybox-ubuntu Busybox ubuntu version with extra goodies 0 [OK]
nikfoundas/busybox-confd Minimal busybox based distribution of confd 0 [OK]
openshift/busybox-http-app 0 [OK]
jllopis/busybox 0 [OK]
swyckoff/busybox 0 [OK]
powellquiring/busybox 0 [OK]
williamyeh/busybox-sh Docker image for BusyBox's sh 0 [OK]
simplexsys/busybox-cli-powered Docker busybox images, with a few often us... 0 [OK]
fhisamoto/busybox-java Busybox java 0 [OK]
scottabernethy/busybox 0 [OK]
marclop/busybox-solr
1.4.2. 不截断输出,显示完成的描述信息
$ docker search --stars=3 --no-trunc busybox
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
busybox Busybox base image. 325 [OK]
progrium/busybox 50 [OK]
radial/busyboxplus Full-chain, Internet enabled, busybox made from scratch. Comes in git and cURL flavors. 8 [OK]
1.4.3. 搜索镜像且要求 stars 在3星及3星以上
$ docker search --filter stars=3 busybox
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
busybox Busybox base image. 325 [OK]
progrium/busybox 50 [OK]
radial/busyboxplus Full-chain, Internet enabled, busybox made... 8 [OK]
1.4.4. 查找镜像且是自动构建的
$ docker search --filter is-automated busybox
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
progrium/busybox 50 [OK]
radial/busyboxplus Full-chain, Internet enabled, busybox made... 8 [OK]
1.4.5. 搜索镜像要求是官方构建的且 stars 在3星及3星以上
$ docker search --filter "is-official=true" --filter "stars=3" busybox
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
progrium/busybox 50 [OK]
radial/busyboxplus Full-chain, Internet enabled, busybox made... 8 [OK]
1.4.6. go 模板渲染
格式化选项(--format)使用Go模板漂亮地打印搜索输出。
Go模板的有效占位符为:
参数 | 描述 |
---|---|
.Name | 镜像名称 |
.Description | 镜像描述 |
.StarCount | 镜像的star数量 |
.IsOfficial | 是否管控构建的,OK表示是的 |
.IsAutomated | 是否是自动构建的,OK表示是的 |
当使用 --format
选项时,search
命令输出的数据进行渲染。如果使用 table
作为分隔符,会同时显示表头。
使用冒号分隔,显示查找镜像的 Name
和 StarCount
信息
$ docker search --format "{{.Name}}: {{.StarCount}}" nginx
nginx: 5441
jwilder/nginx-proxy: 953
richarvey/nginx-php-fpm: 353
million12/nginx-php: 75
webdevops/php-nginx: 70
h3nrik/nginx-ldap: 35
bitnami/nginx: 23
evild/alpine-nginx: 14
million12/nginx: 9
maxexcloo/nginx: 7
1.4.7. 使用 table 制表,默认显示表头
$ docker search --format "table {{.Name}}\t{{.IsAutomated}}\t{{.IsOfficial}}" nginx
NAME AUTOMATED OFFICIAL
nginx [OK]
jwilder/nginx-proxy [OK]
richarvey/nginx-php-fpm [OK]
jrcs/letsencrypt-nginx-proxy-companion [OK]
million12/nginx-php [OK]
webdevops/php-nginx [OK]