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

通过 Python-on-Whales 调用 Docker CLI 的指南

随着对 Docker 的使用场景增多,开发者希望从 Shell 以外的编程语言来进行集成。本文介绍一种通过 Python 调用 Docker CLI 的方案:Python-on-Whales。该项目旨在通过 Python 与 Docker CLI 的交互来实现功能,而非直接访问引擎 API。

与直接操作引擎 API 相比,Python-on-Whales 更贴近实际 CLI 的行为,因为它以与 Docker CLI 的交互为核心,输出也更符合命令行的实际输出。对于某些对 CLI 行为高度敏感的场景,这种方式往往更直观。

下面介绍一个来自社区的新方案:Python-on-Whales。它的目标是在 Docker CLI 与 Python 库之间建立一对一的映射,通过与 Docker CLI 交互来完成操作,而不是直接调用引擎 API。

使用 Python-on-whales 从 Python 调用 Docker CLI

如果需要执行 Docker 命令行操作,请使用 Python-on-Whales;如果需要直接对引擎进行底层调用,则考虑其他方案。

本篇文章将对比一些在其他方案中不可用但在 Python-on-Whales 中可用的功能:

  1. 使用 Docker Buildx 构建镜像
  2. 使用 Stack 在 Swarm 中进行部署
  3. 使用 Compose 部署到本地引擎

快速入门

安装 Python-on-Whales

pip install Python-on-Whales

Buildx 构建:Python-on-Whales 默认通过 Buildx 进行构建,并实时输出构建日志。

使用 Python-on-whales 从 Python 调用 Docker CLI

使用 Stack 部署到 Swarm

在本地 Swarm 集群上演示一个简单的堆栈。你会得到一个 Stack 对象,提供方法如下:Remove、 Services、 ps 等。

使用 Python-on-whales 从 Python 调用 Docker CLI

使用 Compose 部署到本地引擎

使用 Python-on-whales 从 Python 调用 Docker CLI