Docker API 使用
介绍
Docker API 是 Docker 提供的一组 RESTful API,允许开发者通过编程方式与 Docker 守护进程进行交互。通过 Docker API,你可以管理容器、镜像、网络、卷等资源,而无需直接使用 Docker CLI。这对于自动化任务、集成到 CI/CD 管道或构建自定义工具非常有用。
Docker API 支持多种编程语言,包括 Python、Go、JavaScript 等。本文将重点介绍如何使用 Python 与 Docker API 进行交互。
安装 Docker SDK for Python
要使用 Docker API,首先需要安装 Docker SDK for Python。你可以通过以下命令安装:
pip install docker
连接到 Docker 守护进程
在开始使用 Docker API 之前,你需要连接到 Docker 守护进程。默认情况下,Docker SDK for Python 会尝试连接到本地的 Docker 守护进程。你可以通过以下代码连接到 Docker 守护进程:
import docker
client = docker.from_env()
管理容器
列出所有容器
你可以使用 client.containers.list()
方法列出所有正在运行的容器:
containers = client.containers.list()
for container in containers:
print(container.id, container.name)
启动和停止容器
要启动一个容器,你可以使 用 container.start()
方法。要停止一个容器,可以使用 container.stop()
方法:
container = client.containers.get('container_id')
container.start()
container.stop()
创建容器
你可以使用 client.containers.run()
方法创建一个新的容器。以下是一个简单的示例,创建一个运行 hello-world
镜像的容器:
container = client.containers.run('hello-world', detach=True)
print(container.id)
管理镜像
列出所有镜像
你可以使用 client.images.list()
方法列出所有本地镜像:
images = client.images.list()
for image in images:
print(image.id, image.tags)
拉取镜像
要拉取一个远程镜像,你可以使用 client.images.pull()
方法:
image = client.images.pull('nginx')
print(image.id)