隨著 Docker 使用的增加,用戶希望從 shell 以外的編程語言調(diào)用 Docker。從 Python 使用 Docker 的一種流行方法是使用docker-py。這個庫取得了巨大的成功,甚至docker-compose是用 Python 編寫的,并利用了 docker-py。
docker-py 的目標(biāo)不是復(fù)制 Docker 客戶端(用 Golang 編寫),而是與 Docker Engine HTTP API 對話。Docker 客戶端極其復(fù)雜,很難用另一種語言復(fù)制。因此,Docker 客戶端中的許多功能無法在 docker-py 中使用。有時用戶有時會感到沮喪,因?yàn)?docker-py 的行為與 CLI 不完全一樣。
今天,我們將介紹一個由來自 Docker 社區(qū)的 Gabriel de Marmiesse 構(gòu)建的新項(xiàng)目:Python-on-whales。這個項(xiàng)目的目標(biāo)是在 Docker CLI 和 Python 庫之間建立一對一的映射。我們通過與 Docker CLI 通信而不是直接調(diào)用 Docker Engine HTTP API 來做到這一點(diǎn)。
如果需要調(diào)用Docker命令行,使用Python-on-whales。而如果需要直接調(diào)用Docker引擎,使用docker-py。
在這篇文章中,我們將了解一些在 docker-py 中不可用但在 Python-on-whales 中可用的功能:
1.使用 Docker buildx 構(gòu)建
2.使用 docker stack 部署到 Swarm
3.使用 Compose 部署到本地引擎
首先下載 Python-on-whales
pip install python-on-whales
Docker Build
這里我們構(gòu)建一個 Docker 鏡像。Python-on-whales 默認(rèn)使用 buildx 并實(shí)時為您提供輸出。
使用 docker stack 部署到 Swarm
在這里,我們在本地 Swarm 上部署了一個簡單的Swarmpit堆棧。你得到一個 Stack 對象,它有幾個方法:remove(), services(), ps().
使用 Compose 部署到本地引擎
本文鏈接:http://www.www897cc.com/showinfo-119-2507-0.html使用 Python-on-whales 從 Python 調(diào)用 Docker CLI
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com