Docker查询镜像版本
介绍
Docker 是一种流行的容器化平台,它允许开发者将应用程序和其依赖项封装成轻量级、可移植的容器。在 Docker 中,镜像是构建容器的基础,它包含了一个完整的文件系统以及运行应用程序所需的所有组件。
在使用 Docker 时,查询镜像的版本是一个常见的需求。本文将介绍如何使用 Docker CLI 或 Docker API 查询镜像的各个版本,并提供代码示例。
Docker CLI 查询镜像版本
列出镜像版本
首先,我们可以使用 docker images
命令来列出所有可用的镜像及其版本。该命令会以表格形式显示镜像的仓库、标签、镜像 ID、创建时间和大小等信息。
docker images
下面是一个示例输出:
REPOSITORY | TAG | IMAGE ID | CREATED | SIZE |
---|---|---|---|---|
ubuntu | 20.04 | 7e0aa2d69a15 | 3 weeks ago | 72.9MB |
ubuntu | latest | 7e0aa2d69a15 | 3 weeks ago | 72.9MB |
ubuntu | 18.04 | 7d0d3ebc44b9 | 3 weeks ago | 63.1MB |
alpine | 3.14 | 6dbb9cc54074 | 4 weeks ago | 5.58MB |
alpine | latest | 6dbb9cc54074 | 4 weeks ago | 5.58MB |
上述示例显示了不同的镜像仓库、标签、镜像 ID、创建时间和大小。
搜索特定标签的镜像
如果我们只想查找特定标签的镜像,可以使用下面的命令:
docker images <repository>:<tag>
例如,要搜索名为 ubuntu
的镜像的 20.04
版本,可以运行以下命令:
docker images ubuntu:20.04
删除镜像
如果想删除特定的镜像,可以使用 docker rmi
命令,后跟镜像的仓库和标签信息。
docker rmi <repository>:<tag>
例如,要删除名为 ubuntu
的镜像的 20.04
版本,可以运行以下命令:
docker rmi ubuntu:20.04
Docker API 查询镜像版本
除了使用 Docker CLI 之外,我们还可以通过 Docker API 来查询镜像的版本。
使用 Docker SDK 查询镜像版本
Docker 提供了多种编程语言的 SDK,可以方便地与 Docker API 进行交互。下面以 Python 为例,介绍如何使用 Docker SDK 查询镜像的版本。
首先,需要安装 Docker SDK for Python:
pip install docker
然后,我们可以使用以下代码来查询镜像的版本:
import docker
client = docker.from_env()
images = client.images.list()
for image in images:
print(f"Repository: {image.attrs['RepoTags'][0]}, ID: {image.id}")
上述代码会打印出每个镜像的仓库和 ID。
使用 Docker REST API 查询镜像版本
除了使用 Docker SDK 外,我们还可以直接通过 HTTP 请求与 Docker REST API 进行交互。
首先,我们需要知道 Docker 守护进程的地址和端口号。默认情况下,Docker 监听在本地地址 http://localhost:2375
上。
然后,我们可以使用以下代码来查询镜像的版本:
import requests
response = requests.get("http://localhost:2375/images/json")
images = response.json()
for image in images:
print(f"Repository: {image['RepoTags'][0]}, ID: {image['Id']}")
上述代码会打印出每个镜像的仓库和 ID。
结论
本文介绍了如何使用 Docker CLI 和 Docker API 查询镜像的版本。使用 docker images
命令可以列出所有可用的镜像及其版本,使用 docker images <repository>:<tag>
命