使用 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 来做到这一点。

如果需要调用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 并实时为您提供输出。

使用 docker stack 部署到 Swarm
在这里,我们在本地 Swarm 上部署了一个简单的Swarmpit堆栈。你得到一个 Stack 对象,它有几个方法:remove(), services(), ps().

使用 Compose 部署到本地引擎

您可能也感兴趣:
官方微博/微信

每日头条、业界资讯、热点资讯、八卦爆料,全天跟踪微博播报。各种爆料、内幕、花边、资讯一网打尽。百万互联网粉丝互动参与,TechWeb官方微博期待您的关注。

想在手机上看科技资讯和科技八卦吗?
想第一时间看独家爆料和深度报道吗?
请关注TechWeb官方微信公众帐号:
1.用手机扫左侧二维码;
2.在添加朋友里,搜索关注TechWeb。
为您推荐
台积电11月营收2060.3亿新台币 同比环比均下降
消息称特斯拉Dojo超级计算机项目负责人已于11月份离职
AMD推出最新人工智能芯片挑战英伟达 股价飙升近10%
腾讯大股东Prosus再减持 今年4月以来套现超50亿美金
外媒:特斯拉Cybertruck具有“涉水模式” 可帮助车辆在水中行驶
华硕竟然推出了一款能装硬盘的显卡
外媒称特斯拉上海超级工厂37秒下线一辆整车 远快于得克萨斯超级工厂
消息称AMD Instinct MI300系列出货量预计将达到30-40万颗
更多
- 外媒称SK On也已开始研发4680电池 明年决定是否商业化生产
- 消息称苹果计划未来两到三年每年在印度生产超5000万部iPhone
- 三星显示可折叠显示屏市场份额有降低 京东方有望增至18%
- 法拉第未来即将交付两辆FF 91 2.0:一辆给自家员工 另一辆给Motev
- 台积电11月营收2060.3亿新台币 同比环比均下降
- 消息称特斯拉Dojo超级计算机项目负责人已于11月份离职
- 航拍显示一批国产右舵版焕新Model 3准备出口 已运送到码头
- SK海力士成立新部门AI Infra 负责人工智能半导体业务
- AMD推出最新人工智能芯片挑战英伟达 股价飙升近10%
- 外媒:特斯拉Cybertruck具有“涉水模式” 可帮助车辆在水中行驶