在容器名称上使用glob /通配符运行docker命令

时间:2018-08-30 23:38:13

标签: docker docker-compose

我正在使用docker-compose up --scale创建同一容器的多个版本。结果,我最终得到了名为container_foo_1container_foo_2等的容器。

泊坞窗在其命令行工具中是否支持对容器名称进行任何形式的glob /通配符匹配?我想做的是这样:

docker inspect container_foo_*

短期内我现在正在使用的是

docker-inspect container_foo_{1,2}(使用bash括号扩展)

但是我很想知道是否有一种方式我不知道有多少个集装箱/提前知道了多少个集装箱。

1 个答案:

答案 0 :(得分:0)

您可以将--filter | -f处的参数docker psdocker inspect一起使用。

用法docker ps --filter key=valuevalue接受正则表达式。

当前支持的过滤器是:

  • id容器的ID
  • name容器的名称
  • label表示键或键值对的任意字符串。表示为or =
  • exited代表容器退出代码的整数。仅对--all有用。
  • status已创建,重新启动,正在运行,正在删除,已暂停,已退出或已死机之一
  • ancestor过滤共享给定图像作为祖先的容器。表示为* [:],或
  • before or since过滤在给定容器ID或名称之前或之后创建的容器
  • volume过滤运行已装载给定卷或绑定装载的容器。
  • network过滤正在运行的连接到给定网络的容器。
  • publish or expose筛选发布或公开给定端口的容器。表示为<port>[/<proto>]<startport-endport>/[<proto>]
  • health根据健康检查状态过滤容器。开始,健康,不健康或没有健康的一种。
  • isolation仅Windows守护程序。默认,进程或hyperv之一。
  • is-task筛选作为服务“任务”的容器。布尔选项(对或错)

例如: docker inspect $(docker ps --filter name=^/server)

参考文献: