使用 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。
为您推荐
Meta旗下社交应用Instagram被曝可能引入AI聊天机器人
苹果公司证实已收购AR头显初创公司Mira
用文心一言、通义千问、360智脑写2023高考作文,看看怎么样?
前4个月全球电动汽车电池新装机182.5GWh 宁德时代占比超过三分之一
库克承认自己也在使用ChatGPT 苹果正密切关注其发展
消息人士透露台积电紧急订购封装设备 以满足英伟达AI芯片需求
周鸿祎与胡欢离婚股份过户完成
马斯克:特斯拉乐意授权Autopilot/FSD给其它厂商
台积电董事长刘德音:德国建厂面临产业集群及人才短缺挑战
更多
- Neuralink可能需要10年以上时间才能将脑机接口设备商业化
- 全球半导体销售额4月份同比仍在大幅下滑 但环比已连续两个月增长
- 马斯克旗下脑机接口公司Neuralink估值已飙升至约50亿美元
- 全球半导体生产设备销售额连续两个季度环比下滑 Q1降至268.1亿美元
- Meta旗下社交应用Instagram被曝可能引入AI聊天机器人
- 苹果公司证实已收购AR头显初创公司Mira
- 前4个月全球电动汽车电池新装机182.5GWh 宁德时代占比超过三分之一
- 库克承认自己也在使用ChatGPT 苹果正密切关注其发展
- 消息人士透露台积电紧急订购封装设备 以满足英伟达AI芯片需求
- 2023年特斯拉股价累计上涨超过100%