使用通配符的docker图像ls的不同结果

使用通配符的docker图像ls的不同结果,docker,Docker,我有几台安装了Docker的机器,我正在尝试列出/过滤一些Docker图像,如下所示: docker image ls cdp-* 有些机器打印图像列表,有些机器(安装了相同的Docker 20.10.5和相同的Docker图像)不返回任何内容。 对于Docker 20.10.6,我甚至看到了以下错误: $ docker image ls cdp-* "docker image ls" requires at most 1 argument. See 'docker ima

我有几台安装了Docker的机器,我正在尝试列出/过滤一些Docker图像,如下所示:

docker image ls cdp-*
有些机器打印图像列表,有些机器(安装了相同的Docker 20.10.5和相同的Docker图像)不返回任何内容。 对于Docker 20.10.6,我甚至看到了以下错误:

$ docker image ls cdp-*
"docker image ls" requires at most 1 argument.
See 'docker image ls --help'.

Usage:  docker image ls [OPTIONS] [REPOSITORY[:TAG]]

List images
适用于所有机器的是

docker image ls -f "reference=cdp-*"
你知道为什么docker image ls cdp-*的表现如此出人意料吗?我已经在不同的Debian和Ubuntu版本上进行了测试。

我想我已经做到了:

如果当前目录中有以“cdp-”开头的文件,则命令
docker image ls cdp-*
将失败


如果当前目录中没有以“cdp-”开头的文件,则命令
docker image ls cdp-*
工作正常。

我刚刚用docker 20.10.6测试了您的第一个命令,并得到了正确的结果。也许你应该在引号之间试试:
docker image ls“cdp-*”
。无论如何,根据帮助,
-f
-filter
应该是过滤图像的官方方式。@norbjd我想你已经找到了。我将为其他人编写答案……因为在将命令传递到Docker之前,您的本地shell将展开
cdp-*