目录
- 1. 说明
- 2. 列出所有镜像
- 3. 使用镜像名过滤
- 4. 列出特定标签的镜像
- 5. 结合多个过滤条件
- 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. 列出特定标签的镜像
// 这将只列出标签为 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)"'