照手册敲 docker search nginx,回来只有一屏,stars 全是个位数,官方镜像连 OFFICIAL 标记都看不到。同事那边却能列出几十条。

25 条是默认上限,不是库里没有

docker search 默认只返回 25 条,加 --limit 100 能到 100 条,再多也没意义,因为 Docker Hub 的搜索接口本身就按相关度截断。它只匹配镜像名和描述,不认 tag,想知道 nginx 有哪些具体版本,在命令行里查不到。

两个过滤参数比翻页管用

  • docker search nginx --filter=is-official=true
  • docker search mysql --filter=stars=500
  • docker search redis --limit 50

is-official 只留官方发布的那几个,stars 卡掉随手传上去的野镜像。两个条件一起用,结果往往只剩三五个,比翻十页快。注意等号两边不能留空格,写成 stars=500 才对。

要看 tag 只能去网页

hub.docker.com 每个镜像右侧有 Tags 页签,能按版本号和架构筛,alpine 之类的变体也在那儿。国内直连经常转圈,挂代理或者换能打开的镜像站更省时间。拉的时候把 tag 写全,例如 docker pull nginx:1.27-alpine,比先搜再猜稳当。

这个命令本身已经被标成弃用

新版 Docker 文档把 search 归进遗留命令,能用但不保证长期维护。它只认 Docker Hub,就算你加了私有仓库地址也搜不到,得先 docker login 再用完整路径 pull。企业内网更常见的做法是维护一份镜像清单,从内部 registry 直接拉。

结论:找官方基础镜像开 is-official,找具体版本别在命令行耗时间,网页看 tag 最直接。