互联网技术 / 互联网资讯 · 2024年4月5日 0

使用 Python-on-whales 通过 Python 调用 Docker CLI

随着 DockeR 使用的增加,用户希望从 Shell 以外的编程语言调用 DockeR。从 Python 使用 DockeR 的一种流行方法是使用dockeR-py。这个库取得了巨大的成功,甚至dockeR-coMpose是用 Python 编写的,并利用了 dockeR-py。

dockeR-py 的目标不是复制 DockeR 客户端(用 Golang 编写),而是与 DockeR engine HTTP API 对话。DockeR 客户端极其复杂,很难用另一种语言复制。因此,DockeR 客户端中的许多功能无法在 dockeR-py 中使用。有时用户有时会感到沮丧,因为 dockeR-py 的行为与 CLI 不完全一样。

今天,我们将介绍一个由来自 DockeR 社区的 GabRiel de MaRMieSSe 构建的新项目:Python-on-Whales。这个项目的目标是在 DockeR CLI 和 Python 库之间建立一对一的映射。我们通过与 DockeR CLI 通信而不是直接调用 DockeR engine HTTP API 来做到这一点。

使用 Python-on-whales 通过 Python 调用 Docker CLI

如果需要调用DockeR命令行,使用Python-on-Whales。而如果需要直接调用DockeR引擎,使用dockeR-py。

在这篇文章中,我们将了解一些在 dockeR-py 中不可用但在 Python-on-Whales 中可用的功能:

1.使用 DockeR buildx 构建

2.使用 dockeR stack 部署到 SwaRM

3.使用 CoMpose 部署到本地引擎

首先下载 Python-on-Whales

pIP install Python-on-Whales

DockeR Build 这里我们构建一个 DockeR 镜像。Python-on-Whales 默认使用 buildx 并实时为您提供输出。

使用 Python-on-whales 通过 Python 调用 Docker CLI

使用 dockeR stack 部署到 SwaRM

在这里,我们在本地 SwaRM 上部署了一个简单的SwaRMpIT堆栈。你得到一个 Stack 对象,它有几个方法:ReMOVe(), seRvices(), ps().

使用 Python-on-whales 通过 Python 调用 Docker CLI

使用 CoMpose 部署到本地引擎

使用 Python-on-whales 通过 Python 调用 Docker CLI