📅  最后修改于: 2023-12-03 15:33:59.734000             🧑  作者: Mango
本文将介绍如何使用Python Docker API来管理Docker容器。Docker API是Docker提供的RESTful API,可以通过HTTP请求与Docker交互。我们将使用docker-py
这个Python库来访问Docker API。
使用以下命令来安装docker-py:
$ pip install docker
首先我们需要创建一个Docker客户端对象。可以在本机上连接Docker Daemon,也可以连接远程的Docker Daemon。
连接本机Docker Daemon:
import docker
client = docker.from_env()
连接远程Docker Daemon:
client = docker.DockerClient(base_url='tcp://remote-docker-host:2375')
我们可以通过version
方法获得Docker的版本信息:
version_info = client.version()
for k, v in version_info.items():
print(f"{k}: {v}")
输出:
Components: [{'Name': 'Engine', 'Version': '20.10.0', 'Details': {'ApiVersion': '1.41', 'Arch': 'amd64', 'BuildTime': '2020-12-07T23:15:23.000000000+00:00', 'Experimental': 'false', 'GitCommit': '2160152', 'GoVersion': 'go1.13.15', 'KernelVersi...
我们可以通过images
方法获得Docker镜像列表:
images = client.images.list()
for image in images:
print(f"{image.id} - {image.tags}")
输出:
sha256:e7d92b151274f0c0f2a60a6e5ce5eff15e5f8c2ac9d6cfd91e13e3d8978b6a81 - []
sha256:60ebbfb7b7108e41a9fbdff743b2fd009ebfdbcf480fb056ccc18afd162e00d0 - ['python:3.8-slim']
sha256:aa2b4a47b8a49c13b95f5f5b5a0b8a2c9f43981d0006de1d71aad8e6b5a6e080 - ['alpine:3.10']
我们可以通过run
方法来创建一个容器:
container = client.containers.run('alpine:3.10', 'echo hello world')
print(container.id)
输出:
29695d4c4bf4f98b656ce2b1ad88749c1f61b13f4c525a072d4e8ee8601749da
我们可以通过containers.list
方法获得Docker容器列表:
containers = client.containers.list()
for container in containers:
print(f"{container.short_id} - {container.name}")
输出:
2969 - romantic_kowalevski
我们可以通过logs
方法获得Docker容器日志:
print(container.logs())
输出:
b'hello world\n'
我们可以通过stop
方法停止Docker容器:
container.stop()
我们可以通过remove
方法删除Docker容器:
container.remove()
以上就是一个简单的Python Docker API的示例。使用Docker API可以非常方便地管理Docker容器,例如:创建、查看、停止、删除容器等等。您可以在Docker官方文档中了解更多Docker API的细节。