AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 985347
Accepted
Prashant Lakhera
Prashant Lakhera
Asked: 2019-09-24 13:39:38 +0800 CST2019-09-24 13:39:38 +0800 CST 2019-09-24 13:39:38 +0800 CST

如何找出哪个docker容器使用了哪个docker镜像

  • 772

我正在尝试编写一个脚本或一个班轮来找出哪个 docker 容器使用了 docker 映像

例如:假设我有一个 docker 镜像 9f38484d220f,现在我需要找出使用这个镜像创建的容器。

我知道docker inspect <container id>给我一个 Image 和一个容器 id 但有没有其他方法可以做到这一点?

docker
  • 2 2 个回答
  • 1078 Views

2 个回答

  • Voted
  1. Best Answer
    BMitch
    2019-09-26T05:36:32+08:002019-09-26T05:36:32+08:00

    您可以使用 docker inspect 的格式化输出。首先,获取要查找的图像 ID:

    image_id=$(docker image inspect --format '{{.Id}}' $your_image_name)
    

    然后您可以在格式化输出中找到带有“if”的容器,删除导致格式找到不同图像 id 的空行:

    docker container inspect $(docker container ls -aq) \
      --format "{{ if eq .Image \"$image_id\" }}{{.Id}}{{end}}" \
    | egrep -v '^$'
    

    如果你想为每个容器输出图像,你可以使用类似的东西:

    docker container inspect $(docker container ls -aq) \
      --format "Image: {{.Image}} Container: {{.Id}}"
    
    • 1
  2. Prashant Lakhera
    2019-09-25T07:31:53+08:002019-09-25T07:31:53+08:00

    不是最优雅的方式,但如果您正在寻找一种衬垫解决方案

    $ docker inspect $(docker ps -a -q) |grep -B 20 ab56bba91343 |egrep -i \"Id\":
            "Id": "cfdc796abfcd23e9ac37f3ba136580cd9e2b9add6689b58af11710efd118876e",
            "Id": "d3e1e6309696a2847224a78f21d71451bd7d2bbac970209f057665c2094c90db",
            "Id": "8abf021e2c63ffaccd8a5d9c29de5b33262ee7de5f0b35de6718b3e65b374c5d",
    
    • 0

相关问题

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve