docker - 如何搜索与 "docker ps --filter"的结果不匹配的容器?

标签 docker

我可以通过名称找到一个 docker 容器:docker ps --filter='name=mvn_repo'。有没有办法(不诉诸 bash/awk/grep 等)来否定这个过滤器并列出除了给定名称的容器之外的所有容器?

最佳答案

你可以使用docker inspect来做这个,我用--name=test111创建了一个容器,它显示为/test111,所以如果我这样做了

docker inspect -f '{{if ne "test111".Name }}{{.Name}} {{ end }}' $(docker ps -q) /test111 /sezs /jolly_galileo /分心_梅斯托夫 /craky_nobel /goofy_turing /modest_brown /serene_wright /fervent_lalande

但是如果我用/做一个过滤器,那么它就变成了

docker inspect -f '{{if ne "/test111".Name }}{{.Name}} {{ end }}' $(docker ps -q) /sezs /jolly_galileo /分心_梅斯托夫 /craky_nobel /goofy_turing /modest_brown /serene_wright /fervent_lalande

我不明白。

感谢 Adrian Mouat 在 docker inspect 上的引用帖子

http://container-solutions.com/docker-inspect-template-magic/

而且,正如他所说的

“(不幸的是,Docker 为每个容器打印一个换行符,无论它是否匹配 if )。” 如果我放一个空行,格式就会丢失。

关于docker - 如何搜索与 "docker ps --filter"的结果不匹配的容器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31959553/

相关文章:

docker - headless Docker主机与 headless 容器

docker - 使用 gcsfuse 在 docker 容器中挂载谷歌云存储桶

haskell - 为什么从独占Stackage快照安装Yesod会失败?

docker - 在 PHP 7.4 FPM Alpine (Docker) 上安装 GMP 扩展

amazon-web-services - 如何将子域映射到使用AWS上的Elastic Bean Stack托管的多个Docker容器(作为Web服务器)

docker - DC/OS软件包不存在

docker - 在本地环境中,我应该使用 docker-compose 还是 kubernetes (minikube)?

docker - 在 docker-compose 中获取凭证规范 (gMSA) 时出现问题

linux - 如何在不让容器删除映射内容的情况下使用 "docker run -v"?

linux - 在 alpine dockerfile 中运行 Postgres 失败