📜  python docker api 示例 - Python (1)

📅  最后修改于: 2023-12-03 15:33:59.734000             🧑  作者: Mango

Python Docker API 示例

本文将介绍如何使用Python Docker API来管理Docker容器。Docker API是Docker提供的RESTful API,可以通过HTTP请求与Docker交互。我们将使用docker-py这个Python库来访问Docker API。

安装docker-py

使用以下命令来安装docker-py:

$ pip install docker
创建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')
检查Docker版本

我们可以通过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... 
查看Docker镜像列表

我们可以通过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的细节。