目录
-
-
-
-
- [1. 说明](#1. 说明)
- [2. 列出所有镜像](#2. 列出所有镜像)
- [3. 使用镜像名过滤](#3. 使用镜像名过滤)
- [4. 列出特定标签的镜像](#4. 列出特定标签的镜像)
- [5. 结合多个过滤条件](#5. 结合多个过滤条件)
- [6. 使用 JSON 格式和 jq 工具](#6. 使用 JSON 格式和 jq 工具)
-
-
-
1. 说明
- 1.在 Docker 中,如果你想列出与特定镜像名相关的镜像,可以使用 docker images 命令并结合过滤选项(如 --filter)来实现。
2. 列出所有镜像
docker images
3. 使用镜像名过滤
-
1.想列出所有包含特定镜像名(例如 my-image)的镜像,可以使用 --filter 选项
// 这里的 my-image* 使用通配符 * 来匹配所有以 my-image 开头的镜像名。
docker images --filter=reference='my-image*'
4. 列出特定标签的镜像
-
1.进一步根据标签(tag)来过滤
// 这将只列出标签为 latest 的 my-image 镜像。
docker images --filter=reference='my-image:latest'
5. 结合多个过滤条件
-
1.虽然 docker images 命令的 --filter 选项不支持直接组合多个过滤条件(如同时按镜像名和标签过滤),可以通过管道和 grep 等工具来实现更复杂的过滤。
// 这个命令首先列出所有以 my-image 开头的镜像,然后通过 grep 过滤出包含 latest 标签的行。
docker images --filter=reference='my-image*' | grep 'latest'
6. 使用 JSON 格式和 jq 工具
-
1.如果你需要更复杂的过滤和解析,可以将输出格式化为 JSON 并使用 jq 工具来处理。
// 这个命令将 Docker 镜像列表格式化为 JSON,然后使用 jq 过滤出仓库名为 my-image 且标签为 latest 的镜像,并输出它们的仓库名和标签。
docker images --format '{{json .}}' | jq -r '.[] | select(.Repository=="my-image" and .Tag=="latest") | "(.Repository):(.Tag)"'