跳至主要内容

Podman 桌面 1.12 版本发布

·阅读时长 15 分钟
Charlie Drage
软件工程师

Podman 桌面 1.12 版本发布!🎉

podman-desktop-hero-1.12

Podman 桌面 1.12 现已推出。 点击此处下载

此版本包含

  • Podman 远程:我们现在支持远程 Podman 设置!在 UI 中管理您的远程 Podman 机器。
  • macOS GPU 支持:macOS 上的容器 GPU 访问现已可用。 libkrun 现在是可选的提供程序类型,允许启用 GPU 直通。
  • Windows GPU 支持:也想尝试 Windows GPU 支持吗?Podman 已经支持它,但我们现在在 AI Lab 扩展 中展示它。
  • Podman 5.2.0:此新版本的 Podman 为 macOS 提供了 GPU 访问,以及大量 新功能
  • 亮色模式不再处于实验阶段:我们的亮色模式得到了很好的评价,我们现在将其标记为非实验性!享受新的主题。
  • Kubernetes 功能:我们的 Kubernetes 仪表板中现在添加了 ConfigMaps、Secrets 和多文件 Kubernetes YAML 应用。
  • 改进的字体一致性:您会注意到此版本中的一致性有了很大差异,因为我们更新了整个 Podman 桌面中的所有字体大小。

发布详细信息

Podman 远程

我们现在支持远程 Podman 会话!使用 Podman 桌面通过 SSH 与远程实例进行交互。这允许容器和镜像管理。

您可以在 Podman 桌面的首选项部分启用此功能。

remote

要设置对远程机器的访问,请遵循官方的 Podman 远程客户端教程

macOS GPU 支持

macOS 用户现在可以使用 GPU 支持!

此无缝设置可以在创建 Podman 机器时通过选择提供程序类型来启用。

libkrun

启用后,您可以通过运行带有 --device /dev/dri 传递的自定义容器来测试 GPU 是否已得到支持

$ podman run --rm -it --device /dev/dri --name gpu-info quay.io/slopezpa/fedora-vgpu vulkaninfo | grep "GPU"

这将输出有关您的 GPU 的信息


GPU id = 0 (Virtio-GPU Venus (Apple M1 Pro))
GPU id = 1 (llvmpipe (LLVM 17.0.6, 128 bits))
GPU0:
deviceType = PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU
deviceName = Virtio-GPU Venus (Apple M1 Pro)
GPU1:

请继续关注我们,我们将继续改进并编写有关 GPU 支持的文档。

尝试这些新功能的最实用方法是安装 AI Lab(>1.2.3) 并查看改进的速度。

这可以通过执行以下步骤来完成

  1. 更新到最新的 Podman AI Lab 扩展(v1.2.3),方法是从 Podman 桌面的扩展目录中更新。
  2. 创建一个新的 Podman 机器,并启用 libkrun(请参阅上面的说明)。
  3. 在 Podman AI Lab 扩展中启用 GPU 支持

ai_lab

  1. 启动一个推理服务器/游乐场环境,并享受加速 GPU 支持带来的好处!

Windows GPU 支持

Windows GPU 支持已集成到 Podman 中一段时间,但我们相关的扩展现在已开始利用这个很棒的功能!例如,在 AI Lab 中。

要展示这个很棒的功能,可以执行以下步骤

  1. 更新到最新的 Podman AI Lab 扩展,方法是从 Podman 桌面的扩展目录中更新。
  2. 创建一个启用了 WSL 的 Podman 机器。
  3. 在 Podman AI Lab 扩展中启用 GPU 支持

ai_lab

  1. 启动一个推理服务器/游乐场环境,并享受加速 GPU 支持带来的好处!

亮色模式不再处于实验阶段

我们在亮色模式方面取得了重大进展,我们现在将其标记为非实验性!如果您还没有尝试过,可以在此处从界面中启用它。

light mode

Kubernetes 功能

在此版本中,您现在可以查看 ConfigMaps 和 Secrets。

configmaps secrets

您现在还可以选择多个文件,并在应用 Kubernetes YAML 时使用它们。


社区感谢

🎉 我们要感谢所有帮助 🦭 Podman 桌面变得更好的用户。在此版本中,我们收到了以下新用户的拉取请求。


最终说明

已修复的错误

此版本中修复的完整错误列表,请访问 此处

下载位置

从网站的 下载 部分获取最新版本,并使用 Podman 桌面提升您的开发旅程。此外,请访问 GitHub 存储库,了解如何帮助我们让 Podman 桌面变得更好。


详细发布更改日志

身份验证 🔑

  • fix: show sign out request when signing out from active session by @dgolovin in #8005

ci 🔁

  • chore(ci): exclude playwright raw traces from archived artifacts by @odockal in #7863
  • chore(ci): include junit file path to be in test artifacts by @odockal in #7859
  • chore(test): better handle for podman machine wait by @cbr7 in #7957
  • chore(test): fix locator by @cbr7 in #8022
  • chore(test): 通过 @cbr7 在 #8327 中增强了 e2e 测试的鲁棒性
  • chore(test): 通过 @cbr7 在 #8027 中更新了对话框的定位器
  • chore(tests): 通过 @cbr7 在 #7874 中删除了不需要的跟踪
  • chore(tests): 通过 @cbr7 在 #7829 中修复了欢迎页面的测试

仪表盘 📊

  • 通过 @feloy 在 #8301 中关闭“文件”选项卡时取消图像层的加载
  • chore: 通过 @deboer-tim 在 #8236 中改进了状态颜色
  • chore: 通过 @deboer-tim 在 #8089 中更新了 Pod 列和提供者卡片
  • feat: 通过 @cdrage 在 #8142 中添加了清单推送和删除按钮
  • feat: 通过 @SoniaSandler 在 #7878 中添加了选项,要求在执行某些操作时进行用户确认
  • feat: 通过 @feloy 在 #8170 中添加了搜索图像标签的功能
  • fix: 通过 @afbjorklund 在 #8328 中为 Lima 图标添加了背景
  • fix: 通过 @benoitf 在 #7649 中点击码头图标应该显示仪表盘
  • fix: 通过 @lstocchi 在 #7990 中删除了 PreferencesRenderingItem 中的 afterUpdate
  • 通过 @feloy 在 #7930 中搜索注册表中的图像(后端)

文档 📖

  • docs: 通过 @cdrage 在 #8329 中添加了有关访问扩展的开发者工具的说明
  • fix(docs): 通过 @myfear 在 #7865 中更新了主页截图
  • fix(docs): 通过 @myfear 在 #7862 中删除了所有 linter 错误
  • fix(docs): 通过 @myfear 在 #7902 中稍微增强了 AI 实验室文档
  • fix(docs): 通过 @myfear 在 #7861 中更新了介绍

扩展/kind 🍾

  • chore: 通过 @evanshortiss 在 #7981 中将安装说明添加到 kind 扩展的自述文件中
  • fix: 通过 @lstocchi 在 #7978 中点击数字输入按钮时,防止提交事件传播
  • feat: 通过 @axel7083 在 #8038 中让 kind 扩展注册 CLI 工具

扩展/kube-context ☸

  • 通过 @feloy 在 #7951 中在监视文件时使用实际路径

扩展/kubectl-cli

  • fix: 通过 @gastoner 在 #8347 中,kubectl 不应升级到旧版本

扩展/podman 🦭

  • feat: 通过 @benoitf 在 #8265 中添加了对 podman 远程 SSH 主机的支持
  • feat: 通过 @cdrage 在 #8108 中添加了用于推送的清单 API
  • feat: 通过 @cdrage 在 #8127 中添加了 removeManifest API
  • feat: 通过 @lstocchi 在 #8247 中允许从 5.2.0 版本开始使用 libkrun 和 applehv 机器
  • chore: 通过 @cdrage 在 #8302 中使用 isManifestList 来猜测清单
  • fix: 通过 @axel7083 在 #7975 中,podman 机器切换可能会丢失 API 连接
  • fix: 通过 @lstocchi 在 #8298 中更新了 libkrun 支持的最低版本

扩展 🧩

  • 通过 @feloy 在 #7802 中添加了用于图像文件提供者的 API
  • 通过 @feloy 在 #7844 中显示图像文件
  • feat: 通过 @benoitf 在 #7929 中添加了对扩展的 zstd 图像支持
  • feat: 通过 @benoitf 在 #7867 中允许仅针对特定范围的 Podman Desktop 处理扩展的更新
  • feat: 通过 @benoitf 在 #7961 中将 @podman-desktop/webview-api 发布到 npmjs
  • fix: 通过 @jeffmaury 在 #7926 中,扩展无法安装在符号链接的文件夹中
  • 通过 @feloy 在 #8232 中,让 saveImage 可取消

安装 🎁

  • 通过 @BinaryWizard904 在 #8173 中将 arm64 安装程序添加到 publish-to-winget.yaml
  • feat: 通过 @benoitf 在 #7881 中,在启动机器之前跟踪 Rosetta 支持
  • fix: 通过 @lstocchi 在 #8171 中,如果设置了 podman,则删除设置 podman 通知

Kubernetes ☸️

  • feat: 通过 @deboer-tim 在 #8204 中添加了应用多个 Kube YAML 文件的功能
  • feat: 通过 @cdrage 在 #8055 中将列移动到 K8s 名称下方
  • feat: 通过 @cdrage 在 #8042 中将配置映射和密钥添加到 K8s(渲染器代码)
  • feat: 通过 @cdrage 在 #8019 中为 K8s 集成添加了 configmap/secret 函数
  • fix: 通过 @lstocchi 在 #7999 中调整终端大小,使其完全可见
  • fix: 通过 @dgolovin 在 #7906 中,在更改后重新启动非当前上下文的通知者
  • chore: 通过 @deboer-tim 在 #7935 中,在有 10 个以上 Kube 上下文时保持一致的布局

podify

  • fix: 通过 @jeffmaury 在 #8159 中,使用命名卷的 podify 容器会失败

podman-upstream 🦭

  • fix: 通过 @benoitf 在 #8342 中修复了如何处理包含多个 = 和空格的 env 的问题

发布

  • docs: 通过 @cdrage 在 #7807 中添加了 1.11 版本的发布博客文章
  • feat: 通过 @dgolovin 在 #8306 中将 podman 更新到 5.2.0 版本

设置 ⚙️

  • chore: 通过 @deboer-tim 在 #8290 中将浅色模式从实验性功能中移除
  • fix: 通过 @lstocchi 在 #7659 中,支持在创建/编辑配置时使用多个范围

遥测 📈

  • chore: 通过 @deboer-tim 在 #8087 中减少了未使用的遥测事件

测试 🚦

  • chore: 通过 @deboer-tim 在 #8085 中改进了表格中的 aria/role 标签
  • chore(test): 通过 @cbr7 在 #8246 中添加了用于超时设置的参数
  • chore(test): 通过 @cbr7 在 #8126 中添加了测试完成后的钩子调用
  • chore(test): 通过 @cbr7 在 #8271 中避免了竞争条件
  • chore(test): 通过 @cbr7 在 #8299 中捕获了来自竞争条件的异常
  • chore(test): 通过 @cbr7 在 #8018 中创建了用于不同 POM 类的共享组件
  • chore(test): 通过 @cbr7 在 #7945 中解构了方法参数
  • chore(test): 通过 @cbr7 在 #7896 中修复了定位器并更新了消息
  • chore(test): 通过 @cbr7 在 #7901 中处理了 Linux 的奇怪行为
  • chore(test): 通过 @cbr7 在 #7907 中增加了安装超时时间
  • chore(test): 通过 @cbr7 在 #8366 中,如果未停止,则执行停止操作
  • chore(test): 通过 @cbr7 在 #8261 中,如果关闭超时,则尝试杀死应用程序
  • chore(tests): 通过 @odockal 在 #8030 中添加了使用… 的 OpenShift 检查器扩展安装测试
  • chore(tests): 通过 @xbabalov 在 #8176 中添加了单独的 Compose 入门页面
  • chore(tests): 通过 @xbabalov 在 #8266 中修复 Compose 测试失败问题
  • 通过 @cbr7 在 #7911 中修复 podman e2e 测试
  • fix: 通过 @jeffmaury 在 #8300 中修复随机端口测试不稳定问题
  • fix(tests): 通过 @odockal 在 #7892 中将缺少的参数添加到 extensionPage 的 openDetailsPage...
  • 通过 @cbr7 在 #7883 中执行 Pods e2e 测试
  • refactor: 通过 @amisskii 在 #8310 中重构资源卡片页面
  • test: 通过 @danivilla9 在 #7962 中添加从容器列表中启动/停止/删除/清理多个容器的测试用例
  • test: 通过 @danivilla9 在 #8128 中添加从卷页面删除和清理卷的 e2e 测试

ui

  • chore: 通过 @deboer-tim 在 #8251 中改进亮模式
  • chore: 通过 @deboer-tim 在 #7828 中设置亮模式状态图标默认文本颜色
  • chore: 通过 @cdrage 在 #8375 中将 /images/run 移动到 /image/run 用于创建容器
  • chore: 通过 @deboer-tim 在 #7963 中提供默认文本颜色
  • chore: 通过 @deboer-tim 在 #8235 中使用颜色变量表示提供者
  • chore: 通过 @deboer-tim 在 #8264 中清理终端颜色
  • feat: 通过 @SoniaSandler 在 #8020 中根据偏好添加批量删除时的确认提示
  • chore: 通过 @deboer-tim 在 #8254 中减少导航边框
  • chore: 通过 @benoitf 在 #7848 中删除空的 aria-label
  • chore: 通过 @deboer-tim 在 #8278 中添加账户图标
  • chore: 通过 @SoniaSandler 在 #8249 中添加 images/imageId/engineId 页面的渲染
  • chore: 通过 @SoniaSandler 在 #8086 中添加更多容器列表表格列的排序选项
  • chore: 通过 @axel7083 在 #8292 中添加导航路径
  • chore: 通过 @deboer-tim 在 #8075 中在扩展中保持一致的水平填充
  • chore: 通过 @benoitf 在 #8334 中将一些代码提取到函数中
  • chore: 通过 @gastoner 在 #8209 中改进无上下文空屏幕
  • chore: 通过 @deboer-tim 在 #7955 中改进切换颜色
  • chore: 通过 @cdrage 在 #8343 中为横幅添加亮/暗模式
  • chore: 通过 @deboer-tim 在 #8175 中设置亮模式加载屏幕
  • chore: 通过 @deboer-tim 在 #8054 中设置仪表板通知的亮模式
  • chore: 通过 @cdrage 在 #8056 中设置仪表板推荐横幅的亮模式
  • chore: 通过 @deboer-tim 在 #8289 中设置 Docker Desktop 扩展(以及更多)的亮模式
  • chore: 通过 @deboer-tim 在 #8136 中设置甜甜圈组件的亮模式
  • chore: 通过 @SoniaSandler 在 #7905 中设置反馈表单的亮模式
  • chore: 通过 @deboer-tim 在 #8123 中设置任务图标、空屏幕的亮模式
  • chore: 通过 @deboer-tim 在 #8195 中设置故障排除的亮模式
  • chore: 通过 @SoniaSandler 在 #8139 中将偏好设置中 Kubernetes 文件路径的文本输入字段...
  • chore: 通过 @benoitf 在 #8215 中将左侧导航栏的每个条目移动到单独的项目中
  • chore: 通过 @deboer-tim 在 #8092 中减少模态对话框的垂直突起
  • chore: 通过 @deboer-tim 在 #8093 中添加可重用的基础页面
  • chore: 通过 @deboer-tim 在 #8107 中解决状态栏通知点溢出问题
  • chore: 通过 @gastoner 在 #8147 中支持消息对话框中的多行消息
  • chore: 通过 @SoniaSandler 在 #8137 中更新提供者渲染,创建新的背景
  • chore: 通过 @SoniaSandler 在 #8286 中将 ProviderResultPage 更新为亮模式
  • chore: 通过 @SoniaSandler 在 #8090 中更新 Compose 详情摘要页面的 UI
  • chore: 通过 @benoitf 在 #7854 中更新到 svelte5
  • chore: 通过 @SoniaSandler 在 #7826 中更新卷摘要页面 UI
  • chore: 通过 @deboer-tim 在 #7997 中对剩余对话框使用对话框组件
  • chore(ContainerActions): 通过 @axel7083 在 #7921 中使用全局导航
  • chore(navigation): 通过 @axel7083 在 #7933 中添加 handleNavigation 类型安全
  • chore(StatusIcon): 通过 @axel7083 在 #7912 中添加接受状态值的字段
  • chore(test): 通过 @cbr7 在 #7941 中添加额外的 aria 标签
  • chore(test): 通过 @cbr7 在 #7960 中添加额外的 aria 标签
  • chore(test): 通过 @amisskii 在 #8196 中增强详情页面定位器、ARIA 标签和添加导航测试
  • 通过 @feloy 在 #8210 中显示镜像层加载时的信息
  • feat: 通过 @dgolovin 在 #8330 中添加显示完整路径的工具提示,当检测到 CLI 工具时
  • feat: 通过 @benoitf 在 #8340 中允许手动刷新目录
  • feat: 通过 @gastoner 在 #8308 中允许在菜单按钮右侧打开下拉菜单
  • feat: 通过 @benoitf 在 #8322 中允许显示/隐藏导航项目
  • feat: 通过 @deboer-tim 在 #7967 中添加对话框组件
  • feat: 通过 @lstocchi 在 #7773 中为 buildImageFromContainerfile 页面启用亮模式
  • feat: 通过 @lstocchi 在 #7932 中为 onboarding 启用亮模式
  • feat: 通过 @lstocchi 在 #7774 中为 play k8s 页面启用亮模式
  • feat: 通过 @cdrage 在 #8237 中为终端添加亮/暗模式
  • feat: 通过 @vzhukovs 在 #5174 中重新启动 Kubernetes Pod
  • 通过 @feloy 在 #8161 中修复层大小问题
  • fix: 通过 @lstocchi 在 #8046 中为 TaskManager 添加亮模式
  • fix: 通过 @SoniaSandler 在 #8285 中将加载圆圈居中在使用 LoadingIconButton 的地方
  • fix: 通过 @SoniaSandler 在 #7677 中删除在 imageHref 中删除 sha256: 前缀的操作
  • fix: 通过 @SoniaSandler 在 #8200 中修复工具提示错误消息溢出问题
  • fix: 通过 @lstocchi 在 #8081 中处理模态和对话框可见性上的 ignoreFocusOut
  • fix: 通过 @lstocchi 在 #7889 中设置 podman machine 详情页面的亮模式
  • fix: 通过 @lstocchi 在 #8208 中修复偏好设置未在所选部分显示的问题
  • fix: 通过 @lstocchi 在 #7910 中细化表单页面中使用的颜色
  • fix: 通过 @myfear 在 #7879 中重命名卷使用按钮
  • fix: 通过 @lstocchi 在 #8015 中删除一个自定义端口映射条目时重新验证端口
  • fix: 通过 @lstocchi 在 #8032 中解决仪表板卡片上的文本覆盖问题
  • fix: 通过 @lstocchi 在 #8002 中更新媒体查询以防止安装按钮溢出卡片
  • fix: 通过 @lstocchi 在 #8072 中将 markdown 属性与 Markdown 组件一起使用
  • fix(compose-extension): 通过 @axel7083 在 #7942 中修复预先存在的系统级安装问题
  • bug: 通过 @cdrage 在 #8025 中修复 Compose 文件的名称显示问题
  • 通过 @feloy 在 #8320 中在删除镜像时指示标记镜像
  • 通过 @feloy 在 #8145 中为 FilesystemLayerView 设置亮模式
  • refactor(Task): 通过 @axel7083 在 #7799 中删除 gotoTask 字段
  • test: 通过 @amisskii 在 #7976 中为 Kind 功能的新 e2e 测试添加安装组件
  • nit: 通过 @deboer-tim 在 #8063 中修复搜索栏中的大小写问题
  • refactor(navigation): 通过 @axel7083 在 #7924 中将导航页面移动到 api 包中
  • 通过 @deboer-tim 在 #7995 中调整字体大小和 UI 一致性

ui-components

  • chore: 在 #7849 中由 @benoitf 添加全局变量的缺失初始化程序。
  • chore: 在 #7953 中由 @deboer-tim 调整搜索和标签栏宽度。
  • chore: 在 #7900 中由 @axel7083 将 StatusIcon 迁移到 ui 库。
  • chore: 在 #7939 中由 @deboer-tim 在构建镜像表单中使用 fileinput。
  • chore: 在 #7966 中由 @deboer-tim 在运行 Kube 时使用 fileinput。
  • chore: 在 #8076 中由 @deboer-tim 在运行镜像时使用 fileinput。
  • feat: 在 #8262 中由 @deboer-tim 为 monaco 编辑器提供基本的浅色模式。

网站 🌐

  • chore: 在 #7882 中由 @axel7083 提升 typedoc、typedoc-plugin-markdown 和 docusaurus-plugin-typedoc 的版本。
  • fix(website): 在 #7994 中由 @axel7083 修复 storybook 空白页面。
  • fix(website): 在 #7838 中由 @cfergeau 在 macOS 的下载页面上使用一致的架构名称。
  • fix(website): 在 #7992 中由 @axel7083 修复 Windows 构建和重定向。
  • hotfix: 在 #8105 中由 @axel7083 修复网站构建。
  • chore: 在 #8052 中由 @axel7083 将 storybook 添加到 @storybook 组。