pyisula API参考手册:完整接口文档和使用示例

pyisula API参考手册:完整接口文档和使用示例
pyisula API参考手册完整接口文档和使用示例【免费下载链接】pyisulapython sdk library for iSulad and isula-build项目地址: https://gitcode.com/openeuler/pyisula前往项目官网免费下载https://ar.openeuler.org/ar/pyisula是openEuler生态中一款功能强大的Python SDK库专为iSulad容器引擎和isula-build构建工具提供便捷的编程接口。本文将详细介绍pyisula的核心API、使用方法及实战示例帮助开发者快速上手容器管理与镜像构建功能。快速入门环境准备与客户端初始化安装与依赖pyisula作为openEuler官方项目可通过源码编译安装git clone https://gitcode.com/openeuler/pyisula cd pyisula python setup.py install客户端初始化pyisula提供两种核心客户端分别对应iSulad容器运行时和isula-build构建工具iSulad客户端from isula.client import init_isulad_client # 默认连接本地iSulad服务 client init_isulad_client() # 连接远程服务 # client init_isulad_client(channel_targettcp://192.168.1.100:2376)isula-build客户端from isula.client import init_builder_client # 初始化构建客户端 builder init_builder_client( channel_targetunix:///var/run/isula-build.sock, public_key_path/etc/isula-build/keys/public.pem )核心API详解容器管理Container容器操作类Container类封装了所有容器生命周期管理方法位于isula/isulad/container.py方法功能描述参数说明create()创建容器container_id: 容器IDimage: 镜像名称hostconfig: 主机配置start()启动容器container_id: 容器IDattach_stdout: 是否附加标准输出stop()停止容器container_id: 容器IDtimeout: 超时时间(秒)delete()删除容器container_id: 容器IDforce: 是否强制删除inspect()查看容器详情container_id: 容器IDbformat: 是否返回JSON格式实战示例创建并运行容器# 创建主机配置 host_config HostConfig( Binds[/host/data:/container/data], PortBindings{80/tcp: [{HostPort: 8080}]} ) # 创建容器 client.container.create( container_idmyapp, imagenginx:latest, hostconfighost_config ) # 启动容器 client.container.start(myapp, attach_stdoutTrue) # 查看容器状态 print(client.container.inspect(myapp))镜像管理ImageImage类提供镜像相关操作定义于isula/isulad/image.py常用方法list(filters): 列出镜像支持按名称、标签过滤pull(name, tag): 拉取镜像push(name, tag): 推送镜像delete(name, force): 删除镜像inspect(image_id): 查看镜像详情示例镜像拉取与管理# 拉取镜像 client.image.pull(openEuler:latest) # 列出所有镜像 images client.image.list() for img in images: print(f镜像ID: {img[Id]}, 标签: {img[RepoTags]}) # 为镜像打标签 client.image.tag(openEuler:latest, myregistry.com/openEuler:v1.0)构建服务Builderisula-build客户端提供镜像构建能力核心类包括ImageBuild: 构建任务类(isula/builder/image.py)Manifest: 镜像清单管理(isula/builder/manifest.py)构建示例# 构建上下文 build_context { dockerfile: FROM openEuler\nRUN echo Hello pyisula, context_dir: /path/to/build/context } # 启动构建任务 build_task builder.image.build( build_contextbuild_context, tagmyapp:1.0, platformlinux/amd64 ) # 等待构建完成 build_task.wait() if build_task.success: print(f镜像构建成功: {build_task.image_id})高级功能与最佳实践CRI接口支持pyisula通过CRIRuntime类(isula/isulad/cri.py)提供容器运行时接口(CRI)支持适用于Kubernetes集成场景# 获取CRI版本信息 version client.cri.version() print(fCRI版本: {version[Version]}) # 列出CRI容器 containers client.cri.list_containers()错误处理与日志建议使用try-except捕获API调用可能抛出的异常并利用日志功能调试try: client.container.start(myapp) except Exception as e: print(f启动容器失败: {str(e)}) # 获取容器日志 logs client.container.logs(myapp, followFalse) print(f容器日志: {logs})接口速查表核心模块路径主客户端: isula/client.py容器管理: isula/isulad/container.py镜像管理: isula/isulad/image.py构建服务: isula/builder/常用API汇总模块核心类主要方法容器Containercreate, start, stop, delete, inspect镜像Imagepull, push, list, delete, tag构建ImageBuildbuild, wait, cancel卷管理Volumecreate, remove, list通过本文档您已掌握pyisula的核心API及使用方法。如需更详细的接口说明可查阅项目源码中的类定义与方法注释。pyisula持续迭代中建议定期更新以获取最新功能支持。【免费下载链接】pyisulapython sdk library for iSulad and isula-build项目地址: https://gitcode.com/openeuler/pyisula创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考