python3 podman库
前言
最近在使用 podman, 需要调用一些 podman的接口,podman官网提供的接口并不是很详尽,使用 unix.sock 的方式调用有一
些困难。后来测试 ai 工具时,其提供了一个比较好用的库:podman, 适用了一下,感觉还不错,在此记录一下。
正文
安装 podman 库
pip install podman
简单的控制脚本
podman_ctl.py
# -*- coding:utf-8 -*-
from podman import PodmanClient
class PodmanCtl(object):
"""
podman控制类
"""
def __init__(self, base_url:str=None) -> None:
# 创建 Podman 客户端实例
if base_url is not None:
self.base_url = base_url
else:
self.base_url = 'unix:///run/user/0/podman/podman.sock'
self.client = PodmanClient(base_url= self.base_url)
def get_all_containers(self):
"""
获取所有的容器信息
"""
container_list = self.client.containers.list()
for container in container_list:
print(vars(container))
def get_all_images(self):
"""
获取所有的镜像信息
"""
image_list = self.client.images.list()
for image in image_list:
print(vars(image))
def search_image_by_name(self, name:str):
"""
根据名称搜索镜像
"""
result_list = self.client.images.search(name)
for result in result_list:
print(result)
def get_container_status(self, container_name:str):
is_exists = self.client.containers.exists(container_name)
if is_exists:
container = self.client.containers.get(container_name)
status = container.status
print(f"container: {container_name} status: {status}")
else:
print(f"container: {container_name} not exists")
return
if __name__ == "__main__":
# base_url = 'unix:///run/user/0/podman/podman.sock'
base_url = 'unix:///run/podman/podman.sock'
podman_ctl = PodmanCtl(base_url=base_url)
# podman_ctl.get_all_containers()
# podman_ctl.get_all_images()
# podman_ctl.search_image_by_name("ubuntu")
podman_ctl.get_container_status("openresty")
注意,unix:///run/podman/podman.sock 是一个通用的 podman.sock, 如果想要某个用户的 podman.sock,
需要使用用户登录后,执行 id 指令查询用户id, 然后找到对应的如 unix:///run/user/0/podman/podman.sock,
user 后的 0 就是用户的id, 最好 ls /run/user/0/podman/podman.sock 查询一下有没有这个路径。
python3 podman库的更多相关文章
- 【转】python3解析库lxml
转自:http://www.cnblogs.com/zhangxinqi/p/9210211.html 阅读目录 1.python库lxml的安装 2.XPath常用规则 (1)读取文本解析节点 (2 ...
- python3+requests库框架设计01-自动化测试框架需要什么?
什么是自动化测试框架 关于自动化测试框架的定义有很多,在我大致理解下就是把能实现不同功能的软件组合在一起,实现特定的目的,这就是一个简单的自动化测试框架. 接口自动化测试框架核心无非是选择 一个用来编 ...
- python3解析库pyquery
pyquery是一个类似jquery的python库,它实现能够在xml文档中进行jQuery查询,pyquery使用lxml解析器进行快速在xml和html文档上操作,它提供了和jQuery类似的语 ...
- 8.Python3标准库--数据持久存储与交换
''' 持久存储数据以便长期使用包括两个方面:在对象的内存中表示和存储格式之间来回转换数据,以及处理转换后数据的存储区. 标准库包含很多模块可以处理不同情况下的这两个方面 有两个模块可以将对象转换为一 ...
- 7.Python3标准库--文件系统
''' Python的标准库中包含大量工具,可以处理文件系统中的文件,构造和解析文件名,还可以检查文件内容. 处理文件的第一步是要确定处理的文件的名字.Python将文件名表示为简单的字符串,另外还提 ...
- 1.Python3标准库--前戏
Python有一个很大的优势便是在于其拥有丰富的第三方库,可以解决很多很多问题.其实Python的标准库也是非常丰富的,今后我将介绍一下Python的标准库. 这个教程使用的书籍就叫做<Pyth ...
- Python3 标准库
Python3标准库 更详尽:http://blog.csdn.net/jurbo/article/details/52334345 文本 string:通用字符串操作 re:正则表达式操作 diff ...
- python023 Python3 标准库概览
Python3 标准库概览 操作系统接口 os模块提供了不少与操作系统相关联的函数. >>> import os >>> os.getcwd() # 返回当前的工作 ...
- 比较两个文件的异同Python3 标准库difflib 实现
比较两个文件的异同Python3 标准库difflib 实现 对于要比较两个文件特别是配置文件的差异,这种需求很常见,如果用眼睛看,真是眼睛疼. 可以使用linux命令行工具diff a_file b ...
- python3标准库总结
Python3标准库 操作系统接口 os模块提供了不少与操作系统相关联的函数. ? 1 2 3 4 5 6 >>> import os >>> os.getcwd( ...
随机推荐
- 简易版跳板机-teleport使用
目录 1 环境搭建 2 teleport工具搭建 3 teleport使用示例 3.1 资产管理-添加主机 3.2 资产管理-添加账号 3.3 创建用户 3.4 运维授权 3.5 安装客户端助手 3. ...
- fastposter v2.11.0 天花板级的海报生成器
fastposter v2.11.0 天花板级的海报生成器 fastposter海报生成器是一款快速开发海报的工具.只需上传一张背景图,在对应的位置放上组件(文字.图片.二维.头像)即可生成海报. 点 ...
- 从零在win10上测试whisper、faster-whisper、whisperx在CPU和GPU的各自表现情况
Anaconda是什么? Anaconda 是一个开源的 Python 发行版本,主要面向数据科学.机器学习和数据分析等领域.它不仅包含了 Python 解释器本身,更重要的是集成了大量的用于科学计算 ...
- 渐变颜色css设置
小说付费章节渐变颜色配置 position: absolute; top: 0; left: 0; width: 100%; height: 211px; transform: translateY( ...
- Django 自定义管理命令:从入门到高级
title: Django 自定义管理命令:从入门到高级 date: 2024/5/16 18:34:29 updated: 2024/5/16 18:34:29 categories: 后端开发 t ...
- Dapr 与 .NET Aspire 结合使用获得无与伦比的本地开发体验
Dapr 提供了一组构建块,用于抽象分布式系统中常用的概念.这包括服务.缓存.工作流.复原能力.机密管理等之间的安全同步和异步通信.不必自己实现这些功能,可以消除样板,降低复杂性,并允许您专注于开发业 ...
- (1)semantic-kernel入门课程
(1)semantic-kernel入门课程 获取OpenAI在线API 由于在国内的限制,我们并没有办法直接访问OpenAI,所以下面的教程我们会推荐使用https://api.token-ai.c ...
- 【C#】爬取百度贴吧帖子 通过贴吧名和搜索关键词
背景:最近喜欢看百度贴吧,因为其内容大多都是吧友的真实想法表达等等原因.但是通过网页去浏览贴吧,始终觉得不够简介,浏览帖子的效率不高,自己就萌发了通过自己爬取贴吧感兴趣的关键字内容,自己写了个winf ...
- ubuntu 虚拟机安装完docker 以后 出现tls时遇到的坑
网上很多都是更改镜像源,发现更改以后还是不行.请更改网路模式为桥接模式就ok了.
- Tkinter界面实操
常用opencv-python进行图像处理,有时需要图形用户界面,写个Demo以备不时之需. Tkinter 1. 导入库 由于 Tkinter 是内置到 python 的安装包中.只要安装好 Pyt ...