跳转到主内容

Podman Desktop 1.19 发布

·21 分钟阅读
Axel Stefanini
软件工程师

Podman Desktop 1.19 发布! 🎉

podman-desktop-hero-1.19

Podman Desktop 1.19 现已可用。点击此处下载

此版本带来了令人兴奋的新功能和改进,包括许多扩展更新

  • Podman v5.5:Podman Desktop 附带的 Podman 可执行文件已更新至最新版本。
  • Bootc 扩展 1.9:直接从扩展中测试和实验可引导容器。
  • AI Lab 1.7.2:新的推理运行时、llama-stack 实现和模型上下文协议 (MCP)。
  • Minc 扩展:用于将 MicroShift 部署为容器的 Podman Desktop 扩展。
  • RHEL lightspeed 扩展:用于在使用 RHEL Lightspeed 时获得帮助的扩展。
  • RHEL VMs 扩展:RHEL VMs 扩展帮助用户运行 RHEL 虚拟机。
  • 在 RHEL 10 上可用:Podman Desktop 现在可直接在 RHEL 10 上使用。

发布详情 🔍

Podman v5.5

Podman Desktop 旨在离线工作,因此它与其二进制文件一起提供了 Podman 可执行文件。在此版本中,最新的 Podman 5.5 版本提供了新功能、错误修复和更好的稳定性。

您可以在其发布页面 containers/podman/releases#v5.5.0 上找到 Podman 5.5 的完整变更日志。

信息

虽然此版本中更新了 Podman 二进制文件,但现有的 Podman 机器将保持其创建时的版本。要更新您的 Podman 机器,您必须删除它并初始化一个新的。

Bootc 扩展 🦭

Podman Desktop Boot container 扩展(又名 Bootc)最近有了显著改进;其中之一是使用了 macadam

Macadam 是一款用于创建和管理虚拟机的跨平台命令行工具。它在 Windows、macOS 和 Linux 上运行,并使用各个操作系统的原生虚拟化技术栈:Windows 上的 WSL2、macOS 上的 Apple 虚拟化框架以及 Linux 上的 QEMU。Macadam 复用了 Podman machine 的代码。

bootc 工具将容器镜像作为更新应用到正在运行的 Linux 系统,从而允许输出结果引导一个包含该容器镜像的完整操作系统。要测试 bootc 的产物,您要么需要一台专用机器,要么从该产物创建一个虚拟机。

为了简化测试工件的开发者体验,Podman Desktop Bootc 扩展为您提供了一种直接从您创建的工件创建虚拟机的方法。

Bootc extension create virtual machineBootc extension create virtual machine

注意

虚拟化存在一个已知问题,可以在 bootc 扩展自述文件中找到。

展示一项新技术的另一个重要方面是展示其能力。感谢 Charlie DrageTim deBoer,他们在演示可引导容器方面付出了大量努力,例如内核模块管理、WiFi 模块、systemd 单元文件等。

您可以在 可引导容器 > 示例 页面上找到即用型示例。

Bootc extension examples pageBootc extension examples page

AI Lab ✨

Podman Desktop AI Lab 扩展始于 2024 年的一项实验,旨在探索如何将 AI 工作流容器化。经过一年多的更新和发展,该扩展现已支持多种工具,例如 Instructlab1、llamaCPP2、WhisperCPP3,并且在最新版本中增加了对 OpenVINO、llama-stack 和 MCP 的支持。

OpenVINO

随着 OpenVINO4 作为受支持的推理运行时被引入,您现在可以通过 Podman 在本地运行 OpenVINO 模型5

AI Lab OpenVINO inference providerAI Lab OpenVINO inference provider

llama-stack

Llama Stack 标准化了简化 AI 应用程序开发的核心构建块6

在最新版本的 AI Lab 中,我们引入了对 Llama Stack 的支持,它在容器化环境中运行。在 AI Lab 内部运行的推理服务器将注册到 Llama Server,供其客户端使用。

AI Lab llama-stack pageAI Lab llama-stack page

模型上下文协议 (MCP)

从 LLMs 创建产品已被证明具有挑战性,新兴的协议正在试图提供帮助,例如 MCP。

MCP 是一个开放协议,它标准化了应用程序如何向 LLMs 提供上下文。7

在 AI Lab playground 中支持 MCP 的初步步骤已经开始,使开发人员能够直接通过 GUI 进行实验,然后再尝试将其集成到他们的应用程序中。

AI Lab MCP in playgroundAI Lab MCP in playground

Minc 扩展 📦

MicroShift 是一个为小型设备和边缘计算8 优化 OpenShift Kubernetes 的项目。与 KindMinikube 类似,我们创建了一个扩展,用于通过 Podman 在本地创建和管理 MicroShift 集群。

您可以在 MicroShift 部分了解更多信息。

提示

对可引导容器和 MicroShift 感兴趣吗?您可以参考题为使用 Podman Desktop 创建 MicroShift 可引导镜像的博客文章。

RHEL Lightspeed ⚡

Red Hat Lightspeed 是一款集成到红帽混合云平台(如 OpenShift 和 Enterprise Linux)中的生成式 AI 助手。9 它在控制台内提供自然语言指导,以简化复杂任务、提高生产力并弥补 IT 技能差距。

用户可以从各种 AI 模型中进行选择,包括 OpenAI、Azure OpenAI、WatsonX,或在 Red Hat 平台上部署私有模型。

通过 Red Hat 订阅,您可以从任何地方(包括 Podman Desktop)通过一个名为 RHEL Lightspeed 的新扩展来体验 Red Hat Lightspeed。

您可以通过导航到 扩展 > 目录 页面并单击其 安装 图标来直接安装该扩展。

RHEL lightspeed chatbotRHEL lightspeed chatbot

注意

RHEL VMs 扩展 🗃️

通过 Podman 可执行文件,Podman Desktop 管理虚拟机;负责此功能的跨平台代码已被重用来创建前面提到的 macadam 工具。

RHEL VMs 扩展帮助用户使用 macadam 工具运行 RHEL 虚拟机。

RHEL VM createRHEL VM create

注意

在 macOS 和 Linux 上,您需要手动安装 Macadam 二进制文件。有关更多详细信息,请参阅先决条件

RHEL 10 可用性 🚢

您所喜爱的 Podman Desktop —— 简化的容器管理和直观的用户界面 —— 现在扩展到了 RHEL 工作流。对于 RHEL 系统上的用户,可以探索扩展通道来安装 Podman Desktop。您将在 Windows、Mac 以及现在的 RHEL 上获得熟悉的体验。发布与其他平台同时进行,因此您将能即时访问新功能。

了解更多关于在 RHEL 10 上安装 Podman Desktop 的详细信息。


社区致谢

🎉 我们要向所有帮助 Podman Desktop 变得更好的朋友们表示衷心的感谢。在此版本中,我们收到了以下人员的拉取请求:


最后说明

此版本中修复的完整问题列表可在此处查看和此处查看

请从网站的下载部分获取最新版本,并通过 Podman Desktop 助推您的开发之旅。此外,欢迎访问 GitHub 仓库,看看您能如何帮助我们让 Podman Desktop 变得更好。

详细发布变更日志

修复 🔨

  • 修复(工作流): 发布权限,由 @axel7083 提交 #12585
  • 修复(NumberInput): 增量按钮位置,由 @axel7083 提交 #12578
  • 修复:更改了指向 Docker 兼容性文档的错误链接,由 @MarsKubeX 提交 #12573
  • 修复:从 Page 及相关组件中移除了未使用的 breadcrumbTitle,由 @feloy 提交 #12559
  • 修复:更改了 TestComplexT… 中要导出的 props 接口定义,由 @MarsKubeX 提交 #12547
  • 修复(网站): 更新了 Kubernetes 部分标题的大小,由 @gastoner 提交 #12521
  • 修复(网站): 更新了 Kubernetes 部分图标的大小,由 @gastoner 提交 #12520
  • 修复:为终端输出使用默认颜色,由 @vzhukovs 提交 #12494
  • 修复(网站): 统一了图标的大小,由 @gastoner 提交 #12484
  • 修复:将 Input、NumberInput 和 SearchInput 迁移到 svelte v5,由 @dgolovin 提交 #12475
  • 修复:为 markdown 按钮使用默认内边距,由 @vzhukovs 提交 #12451
  • 修复(container-connection): 当 shell 访问可用时显示终端选项卡,由 @axel7083 提交 #12417
  • 修复(webview-api): 缺失存储库和来源信息,由 @axel7083 提交 #12416
  • 修复:显示虚拟机状态,由 @feloy 提交 #12411
  • 修复:更新了 podman 镜像路径参数,由 @gastoner 提交 #12388
  • 修复(electron-v36): Linux 上的 gtk-version,由 @axel7083 提交 #12360
  • 修复:向 ProviderImages 接口引入 fontId 属性,由 @dgolovin 提交 #12357
  • 修复(electron-updater): 禁用差异化下载,由 @axel7083 提交 #12353
  • 修复(ci): 修正生产环境 e2e 测试中 Podman Desktop 二进制文件的环境变量名称,由 @odockal 提交 #12308
  • 修复:避免构建工具中的 cve,由 @benoitf 提交 #12295
  • 修复(图标): 更新 Props 接口,由 @axel7083 提交 #12232

chore ✅

  • 日常维护: 移除 brew PR 自动化,由 @benoitf 提交 #12563
  • 日常维护: 使用 reset 进行模拟并使用 waitFor 方法,由 @benoitf 提交 #12560
  • 日常维护: 调整网站浅色模式文本颜色使其更深,由 @SoniaSandler 提交 #12550
  • 日常维护: 更新 flathub 作业,由 @benoitf 提交 #12545
  • 日常维护(工作流): 为 release.yaml 设置权限,由 @axel7083 提交 #12532
  • 日常维护(工作流): 为 daily-testing-build.yaml 设置权限,由 @axel7083 提交 #12516
  • 日常维护: 更新主页浅色模式文本颜色使其更深,由 @SoniaSandler 提交 #12503
  • 日常维护: 从主页移除旧版块,由 @SoniaSandler 提交 #12502
  • 日常维护: 将 preview 重命名为 website preview,由 @benoitf 提交 #12482
  • 日常维护: 移除 netlify 部署,现已部署到 cloudflare,由 @benoitf 提交 #12478
  • 日常维护: 发布到 cloudflare 时不发布评论,由 @benoitf 提交 #12477
  • 日常维护: 从索引页移除未使用的导入,由 @SoniaSandler 提交 #12469
  • 日常维护: 在消息框选项中添加了页脚 markdown 描述,由 @gastoner 提交 #12466
  • 日常维护(网站): 在“阅读文档”按钮中添加了指定链接的选项,由 @gastoner 提交 #12464
  • 日常维护: 移除未使用的 tools/* 内容,由 @axel7083 提交 #12456
  • 日常维护(next-build): 定义显式权限,由 @axel7083 提交 #12455
  • 日常维护(pr-check): 定义显式权限,由 @axel7083 提交 #12454
  • 日常维护: 修复 argos 截屏的 github 按钮,由 @cdrage 提交 #12453
  • 日常维护: 发布到 cloudflare (除了 netlify),由 @benoitf 提交 #12433
  • 日常维护: 修复 github 按钮,移除 github 链接,添加间距,由 @cdrage 提交 #12429
  • 日常维护(工作流): 在 next-build.yaml 中更新预发布仓库,由 @axel7083 提交 #12414
  • 日常维护: 更新 jsdom 至 27.0.0-beta.1,由 @benoitf 提交 #12412
  • 日常维护: 更新 podman 至 v5.5,由 @gastoner 提交 #12408
  • 日常维护(npm-registry): 为已发布的包配置来源信息,由 @axel7083 提交 #12398
  • 日常维护(e2e): 修复 kind 测试的跳过问题,由 @danivilla9 提交 #12397
  • 日常维护: 为错误通知指示失败,由 @SoniaSandler 提交 #12389
  • 日常维护: 移除 vale 工具,由 @benoitf 提交 #12386
  • 日常维护: 部署生产站点时不进行压缩,由 @cdrage 提交 #12369
  • 日常维护: 运行网站构建前清除构建和缓存文件夹,由 @cdrage 提交 #12338
  • 日常维护: 修复网站警告 + 未正确构建的问题,由 @cdrage 提交 #12337
  • 日常维护: 除非准备就绪,否则不运行 podman mac 助手检查或套接字检查,由 @cdrage 提交 #12331
  • 日常维护(网站): 更新了 kubernetes 的亮点功能,由 @gastoner 提交 #12305
  • 日常维护(网站): 更新了容器的亮点功能,由 @gastoner 提交 #12304
  • 日常维护(网站): 添加了“阅读文档”按钮,由 @gastoner 提交 #12303
  • 日常维护: 向网站添加常见问题解答(FAQ)部分,由 @SoniaSandler 提交 #12300
  • 日常维护: 重构 kube 配置 secret 列,由 @deboer-tim 提交 #12299
  • 日常维护: 重构 kube deployment 列,由 @deboer-tim 提交 #12298
  • 日常维护: 重构 kube ingress route 列,由 @deboer-tim 提交 #12297
  • 日常维护: 向网站添加用户评价部分,由 @SoniaSandler 提交 #12296
  • 日常维护: 重构 kube pvc 列,由 @deboer-tim 提交 #12294
  • 日常维护: 重构 kube service 列,由 @deboer-tim 提交 #12293
  • 日常维护: 重构 kube nodes 列,由 @deboer-tim 提交 #12292
  • 日常维护(deps-dev): 更新至 jsdom v26.1.0,由 @benoitf 提交 #12291
  • 日常维护: 重构 kube cronjob 列,由 @deboer-tim 提交 #12290
  • 日常维护: 重构 kube job 列,由 @deboer-tim 提交 #12289
  • 日常维护: 在 kube 列中使用 props,由 @deboer-tim 提交 #12288
  • 日常维护: 为 Arm64 生成 linux tgz,由 @benoitf 提交 #12282
  • 日常维护: 向网站添加更多功能部分,由 @SoniaSandler 提交 #12276
  • 日常维护: 更新 docker 第三方工具的描述,由 @bmahabirbu 提交 #12265
  • 日常维护: 为 minc 扩展添加博文,由 @benoitf 提交 #12260
  • 日常维护(网站): 添加了高亮标签,由 @gastoner 提交 #12249
  • 日常维护: 清理 kubernetes 状态列,由 @deboer-tim 提交 #12241
  • 日常维护: 共享 kubernetes 状态列,由 @deboer-tim 提交 #12230
  • 日常维护: 网站 - 更新主页截图,由 @cdrage 提交 #12224
  • 日常维护(vitest): 在 CI 上启用默认报告器,由 @axel7083 提交 #12209
  • 日常维护: 将空屏幕迁移到 svelte 5,由 @deboer-tim 提交 #12194
  • 日常维护: 更新贡献指南以使用 lint-staged,由 @deboer-tim 提交 #12193
  • 日常维护: 为镜像存在时间列使用 duration,由 @deboer-tim 提交 #12177
  • 日常维护: 为卷存在时间使用 duration 列,由 @deboer-tim 提交 #12175
  • 日常维护: 镜像和清单详情导航,由 @deboer-tim 提交 #12170
  • 日常维护: 网站 - 添加自定义 github stars 按钮,由 @cdrage 提交 #12146
  • 日常维护: 网站 - 在首页添加 cncf 社区横幅,由 @cdrage 提交 #12119
  • 日常维护: 更改容器表中存在时间列的命名,由 @gastoner 提交 #12083
  • 日常维护: 将下拉菜单迁移到 svelte 5,由 @cdrage 提交 #12067
  • 日常维护: 将复选框迁移到 svelte 5,由 @bmahabirbu 提交 #12055
  • 日常维护: 如果下拉菜单被选中,则添加选中选项,由 @gastoner 提交 #11991
  • 日常维护: 将 openExternal 命令添加到已注册命令中,由 @gastoner 提交 #11990
  • 日常维护: 向模态组件添加 overflow visible 属性,由 @gastoner 提交 #11988
  • 日常维护: 引入带命令参数的 micromark 按钮图像,由 @gastoner 提交 #11986
  • 日常维护: 移除 lib/container 中的 no-explicit-any,由 @cdrage 提交 #11477

重构 🛠️

  • 重构:将 Page 移植到 svelte5,由 @feloy 提交 #12561
  • 重构:将 NavPage 移植到 svelte5,由 @feloy 提交 #12555
  • 重构(ui): 将 DurationColumn 迁移至 svelte5,由 @axel7083 提交 #12284
  • 重构(ui): 将 SimpleColumn 迁移至 svelte5,由 @axel7083 提交 #12283
  • 重构(StatusIcon): 端口转发用 Component 替换 Snippet,由 @axel7083 提交 #12228
  • 重构:将注册命令移至公共文件,由 @gastoner 提交 #12207

文档 📖

  • 文档(网站): 添加了在 RHEL10 上安装 Podman Desktop 的步骤,由 @shipsing 提交 #12531
  • 文档(网站): 记录使用 minc 创建 microshift 集群的过程,由 @shipsing 提交 #12406
  • 文档(网站): 更新了 AI lab 文档,由 @shipsing 提交 #12384
  • 文档(podman): 添加 Windows 安装说明,由 @axel7083 提交 #12355
  • 文档(ai-lab): 修复索引中的拼写错误,由 @trya2l 提交 #12345
  • 文档(网站): 更新 Kubernetes 部分,由 @shipsing 提交 #12306
  • 文档: 添加 vscode 博客文章,由 @Firewall 提交 #12258
  • 文档(网站): 添加了故障排除部分,由 @shipsing 提交 #12247
  • 文档(网站): 从故障排除部分移除了一个过时的截图,由 @shipsing 提交 #12244
  • 文档: 添加 1.18 版本发布说明,由 @SoniaSandler 提交 #12226
  • 文档(网站): 将 compose 博客移至教程部分,由 @shipsing 提交 #12157
  • 文档(网站): 根据最新情况更新了 docker 兼容性部分,由 @shipsing 提交 #11803

测试 🚦

  • 日常维护(测试): 使用环境变量设置创建 podman machine,由 @cbr7 提交 #12480
  • 日常维护(测试): 参数化 runner 关闭超时,由 @amisskii 提交 #12470
  • 日常维护(测试): 接受降级状态为有效,由 @cbr7 提交 #12407
  • 日常维护(测试): 等待扩展被删除,由 @cbr7 提交 #12396
  • 日常维护(测试): 增加将镜像推送到 kind 集群的超时时间,由 @amisskii 提交 #12394
  • 日常维护(测试): 等待按钮并确保按钮按下,由 @cbr7 提交 #12385
  • 日常维护(测试): 在 linux 上不创建 machine,由 @cbr7 提交 #12342
  • 日常维护(测试): 卷 e2e 测试等待导航完成,由 @cbr7 提交 #12339
  • 日常维护(测试): 修复镜像 e2e 测试套件中的一些不稳定性,由 @cbr7 提交 #12336
  • 日常维护(测试): 在 bug 修复前跳过测试套件,由 @cbr7 提交 #12335
  • 日常维护(测试): 确保在测试套件结束时重启默认的 podman machine,由 @cbr7 提交 #12326
  • 日常维护(测试): 更新错误消息处理,由 @cbr7 提交 #12324
  • 日常维护(测试): 现在在正确的元素上进行断言,由 @cbr7 提交 #12323
  • 日常维护(测试): 在等待前尝试创建并启动 machine,由 @cbr7 提交 #12322
  • 日常维护(测试): 转向轮询断言以获得更好的处理,由 @cbr7 提交 #12320
  • 日常维护(测试): 在故障排除中更新运行提供程序的断言,由 @odockal 提交 #12314
  • 日常维护(测试): 修复一些在其他测试失败时会失败的测试,由 @cbr7 提交 #12313
  • 日常维护(测试): 修复 e2e 测试中的不稳定行为,由 @cbr7 提交 #12310
  • 日常维护(测试): 新的获取扩展版本方法,由 @amisskii 提交 #12248
  • 修复(测试): 不手动渲染 svelte 片段,由 @axel7083 提交 #12208
  • 日常维护(测试): 为所有 machine 类型参数化 rootless 资源 machine 测试,由 @xbabalov 提交 #11954
  • 日常维护(测试): 在镜像详情页面的检查选项卡内容中添加 ARIA 标签,由 @rostalan 提交 #11811

新功能 💡

  • 功能: 添加了上下文复制功能,由 @gastoner 提交 #12463
  • 功能: 为消息框添加了新的页脚 markdown 属性,由 @gastoner 提交 #12432
  • 功能: 添加了上下文编辑功能,由 @gastoner 提交 #12415
  • 功能: 在文档中下载 Linux 二进制文件,由 @DIGIX666 提交 #12286

脚注

  1. https://instructlab.ai/

  2. https://github.com/ggml-org/llama.cpp

  3. https://github.com/ggml-org/whisper.cpp

  4. https://github.com/openvinotoolkit/openvino

  5. https://hugging-face.cn/OpenVINO

  6. https://github.com/meta-llama/llama-stack?tab=readme-ov-file#overview

  7. https://modelcontextprotocol.net.cn/introduction

  8. https://#/en/topics/edge-computing/microshift

  9. 红帽宣布 Red Hat OpenShift Lightspeed 全面上市,以生成式 AI 助力混合云生产力