Docker-client for Python 详解及简单示例
什么是 Docker-client for Python
Docker-client for Python 是 Docker 对于 Python 的 API 封装。通过 Docker-client for Python,可以在 Python 代码中方便地调用 Docker 的功能,比如创建、启动、停止、删除容器,拉取、推送镜像等等。
安装 Docker-client for Python
在命令行中,可以使用 pip 命令安装 Docker-client for Python:
pip install docker
简单示例
首先,需要导入 Docker 的 Python 模块:
import docker
示例一:列出所有镜像
client = docker.from_env()
for image in client.images.list():
print(image.tags)
以上代码使用 docker.from_env()
获取 Docker 客户端对象,然后使用 images.list()
列出所有镜像,最后遍历打印出每个镜像的 tags。
示例二:启动一个容器并执行命令
client = docker.from_env()
container = client.containers.run('nginx', detach=True)
print(container.id)
print(container.logs())
以上代码使用 docker.from_env()
获取 Docker 客户端对象,然后使用 containers.run()
启动一个名为 nginx 的容器,参数 detach=True
表示在后台运行,不占用本地命令行。run()
方法返回一个容器对象,可以调用其属性和方法获取容器信息。例如,container.id
表示容器的 ID,container.logs()
表示容器的日志。
更多方法和属性
除了 images.list()
和 containers.run()
,Docker-client for Python 还提供了大量的方法和属性,以便于操作 Docker 客户端。例如:
containers.get(container_id)
:根据 ID 获取一个已经存在的容器对象。containers.list()
:列出所有容器,返回一个容器对象列表。containers.prune()
:清理掉没有运行的容器。images.pull(repository)
:拉取指定名称的镜像。images.push(repository)
:推送指定名称的镜像。images.remove(image_id)
:删除指定 ID 的镜像。volumes.create(name, **kwargs)
:创建一个命名卷。volumes.get(volume_id)
:根据 ID 获取一个已经存在的命名卷。volumes.list()
:列出所有命名卷,返回一个卷对象列表。volumes.prune()
:清理掉没有被占用的命名卷。
以上只是 Docker-client for Python 的一小部分功能。详细的 API 文档可以在这里找到。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Docker-client for python详解及简单示例 - Python技术站