跳至主要内容

使用 Podman 桌面创建 MicroShift 可启动镜像

·阅读时间:7 分钟
Charlie Drage
软件工程师

banner

如果您不熟悉 BootC,它提供了一种令人印象深刻的方法,可以从单个 Containerfile 或预先存在的 bootc 支持的镜像直接将应用程序部署到裸机。

一个“可启动”镜像,被称为 BootC 容器镜像,允许您使用简单的容器镜像来创建完整的可启动操作系统,无论是 raw 虚拟机镜像还是用于 USB 安装的 iso

此功能非常适合各种用途,从简单的 HTTP 服务器到为全栈应用程序供电的操作系统。

在本教程中,我们将部署一个名为 MicroShift 的 OpenShift 派生产品,它是 OpenShift 的边缘优化版本,专为单节点设置和资源受限配置而设计。将其视为 OpenShift 的紧凑版本!

整个过程使用单个 Containerfile(或 Dockerfile)完成。

要求

在开始本教程之前,请确保您拥有以下内容

构建 BootC 容器镜像

首先,我们将从 BootC 容器镜像构建初始镜像,稍后我们将从中创建可启动的操作系统。

登录 Red Hat 注册表

在继续之前,请从目录中下载 Red Hat 身份验证扩展,以启用对 Red Hat 注册表的访问。

red hat login

然后登录您的帐户。

red hat login sign in

下载您的 OpenShift Hybrid Cloud 拉取密钥

下载您的 拉取密钥

将其下载为 pull-secret.txt。将其放在安全的位置。

创建 Containerfile(或 Dockerfile)

Containerfile 对创建可启动镜像至关重要。

需要注意的是,我们在构建过程中将提供一个参数,即用于访问虚拟机的密码,该虚拟机将通过 redhat 用户名登录。

我们将使用来自 MicroShift 镜像模式 GitHub 文档 的 Containerfile。

将 Containerfile 从上面的链接复制到一个新文件,我们将使用 Podman 桌面构建该文件。

$ curl https://raw.githubusercontent.com/openshift/microshift/main/docs/config/Containerfile.bootc-rhel9 -o Containerfile

使用 Podman 桌面构建

选择 Containerfile 并使用 Podman 桌面进行构建。

您需要提供以下内容

  • 将在 Containerfile 中创建的 redhat 用户的密码。

在构建页面参数中将参数传递为 USER_PASSWD

build

使用 BootC Podman 桌面扩展构建可启动镜像

安装

从扩展目录安装 BootC Podman 桌面扩展。

install

构建镜像

现在,从我们的容器镜像创建可启动镜像!

单击导航栏上的新 BootC 图标,然后转到构建。

build_button

构建完成后,您将在仪表板上看到确认信息。

接下来,选择我们构建的镜像并选择合适的输出格式以测试可启动镜像。RAW 是使用 QEMU 和其他 VM 软件(如 libvirt)进行本地测试的常见选择。

测试镜像

探索使用本地软件或云平台测试镜像的各种方法。以下是使用RAW 输出可启动镜像的一些常见步骤。

运行虚拟机

本指南不涵盖所有运行虚拟机的方法,但以下是最常见的方法

使用 Hyper-V 时,使用 BootC 创建一个 .vhd 镜像。

  1. 构建时,选择 .vhd 选项。
  2. 安装 Hyper-V
  3. 导入虚拟机

配置和验证 MicroShift

启动虚拟机后,您现在可以配置 MicroShift 并验证连接。

复制 OpenShift 拉取密钥

在继续验证 OpenShift 之前,必须复制 OpenShift 拉取密钥,以便 MicroShift 可以下载 Red Hat 注册表认证的容器镜像。

下面我们将把您之前下载的 OpenShift 密钥复制到虚拟机。

  1. 下载您的 OpenShift 拉取密钥,该密钥将下载为 pull-secret.txt

  2. 使用 scp 复制到虚拟机

$ scp -P 2222 pull-secret.txt redhat@localhost:~/
  1. SSH 登录 VM
$ ssh redhat@localhost -p 2222
  1. 将密钥移动到 /etc/crio/openshift-pull-secret
$ sudo mv pull-secret.txt /etc/crio/openshift-pull-secret
  1. 重新启动 microshift 服务
$ sudo systemctl restart microshift

列出 Pod

下面我们将 SSH 登录虚拟机,并确认 MicroShift 是否正在正确部署 Pod。

  1. SSH 登录 VM
$ ssh redhat@localhost -p 2222
  1. 将生成的 kubeconfig 文件复制到 ~/.kube/config
$ mkdir -p ~/.kube
$ sudo cp /var/lib/microshift/resources/kubeadmin/kubeconfig ~/.kube/config
$ sudo chown redhat ~/.kube/config
  1. 使用 ockubectl 验证 Pod 是否正在运行。
$ kubectl get pods -A
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system csi-snapshot-controller-856bb8b9bc-9n7lj 1/1 Running 1 3d23h
kube-system csi-snapshot-webhook-7c64d4d4d7-98v6l 1/1 Running 1 3d23h
openshift-dns dns-default-n2td4 2/2 Running 2 3d23h
openshift-dns node-resolver-7cslg 1/1 Running 1 3d23h
openshift-ingress router-default-7cbc67954b-nqqc6 1/1 Running 1 3d23h
openshift-ovn-kubernetes ovnkube-master-zcqw5 4/4 Running 5 3d23h
openshift-ovn-kubernetes ovnkube-node-crnn9 1/1 Running 2 3d23h
openshift-service-ca service-ca-6799f567-k7lsc 1/1 Running 1 3d23h

使用 Podman 桌面验证 MicroShift

或者,您可以将 MicroShift 配置文件复制到本地机器,并在 Podman 桌面远程对其进行测试。

  1. 在您的本地机器上,创建 .kube 目录(如果它尚不存在)。
$ mkdir ~/.kube
  1. 将远程 kubeconfig 文件复制到本地配置文件。

在 MicroShift 中,kubeconfig 文件会自动创建在 /var/lib/microshift/resources/kubeadmin/kubeconfig 中。

将文件复制到您的本地系统。

scp -P 2222 redhat@localhost:/var/lib/microshift/resources/kubeadmin/kubeconfig ~/config

如果您已经有 ~/.kube/config,请将 config 的内容复制到 ~/.kube/config 文件。

  1. 使用 Podman 桌面验证 MicroShift 集群。

Podman 桌面会自动检测您的 .kube/config 文件。

注意:您可能需要修改您的 .kube/config 文件,以反映您的集群的正确域名或 IP 地址。

cluster

存储配置

默认情况下,存储配置 需要 LVM 分区,并且不会部署 LVMS 存储管理器。这是由于在构建 RAW 镜像时存在限制。需要使用非本地存储解决方案才能使用具有存储功能的 OpenShift 工件。添加 LVM 支持的功能在此 拉取请求 中跟踪。

结论

本教程逐步介绍了使用 Podman Desktop 和 BootC 扩展部署可启动 MicroShift 镜像的方法。通过利用 BootC 和 Podman 等工具,我们简化了创建轻量级且功能齐全的 OpenShift 环境的过程,该环境适用于单节点边缘计算场景。

感谢您的关注,祝您部署顺利!

Podman 桌面扩展简介

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

programming

扩展是定制和扩展 Podman Desktop 功能的强大工具。无论您是想添加新的容器管理功能,简化当前工作流程,还是创建特定于您的技术栈的自定义 UI 元素,构建扩展都可以让您根据自己的特定需求定制 Podman Desktop 体验。

在本指南中,我们将介绍如何构建自己的 Podman Desktop 扩展,并提供指向详细文档的链接,这些文档涵盖了流程的每个部分。

扩展简介

Podman Desktop 中有很多扩展,可以在 扩展 -> 目录 部分找到。

extension catalog

每个扩展都扩展了 Podman Desktop,例如提供 使用 Minikube 的 Kubernetes 开发集群,甚至 分析您的镜像层

以下是 层资源管理器扩展 的示例,以及它如何集成到 Podman Desktop 中

layers_explorer

开始您的项目

创建扩展的第一步是设置项目环境。要了解如何配置项目并添加基本组件,请查看 创建扩展的模板 指南,该指南将指导您从官方模板初始化项目。

添加 UI 组件

创建扩展时最常见的任务之一是添加用户界面。无论是添加按钮、面板还是图标,UI 组件都有助于使您的扩展更具交互性和可访问性。添加 UI 组件是完全可选的,扩展可以在没有 UI 组件的情况下运行。有关此方面的更多信息,请查看 添加 UI 组件 文档,其中包含有关创建组件并将组件集成到应用程序 UI 中的说明。

使用图标

图标是使您的扩展在视觉上更具独特性的一种好方法。您可以按照 添加图标 文档的步骤来了解如何添加和设置自定义图标的样式。

以下是 bootc 扩展 如何在 Podman Desktop 的镜像列表中添加图标的示例

icons

扩展通常会与现有的菜单和导航集成,以便为用户提供对新命令和功能的轻松访问。如果您想在上下文菜单中添加项目,请查看 菜单配置 文档,该文档说明了如何将命令添加到菜单以及如何使用 When Clauses 控制命令何时显示。

以下是 bootc 扩展 如何将新的菜单命令添加到镜像列表的示例

menus

添加和配置命令

命令是大多数扩展的支柱,允许用户与应用程序交互并触发特定操作。

如果您需要定义和注册自定义命令,命令 指南将向您展示如何创建响应用户操作或输入的命令,并将它们与扩展的工作流程绑定。

您还可以将这些命令配置为出现在不同的上下文中。查看 When Clauses 上下文 文档,详细了解如何将命令限制在特定场景中。

命令受 VS Code 命令 的影响很大,并且可以类似地进行配置。有关更多信息,请查看我们的 命令指南

设置 onboarding 工作流程

创建流畅的 onboarding 体验对于帮助用户开始使用您的扩展至关重要。这包括 CLI 二进制文件安装的步骤或其他初始设置值。

您可以使用 onboarding 工作流程 指南来提供指导、教程或初始设置步骤。

以下是 内置的 compose 扩展 如何为 compose CLI 二进制文件安装添加 onboarding 的示例

compose

配置设置

构建完组件和命令后,您可能希望设置配置设置以更高级地使用您的扩展。

配置 文档概述了配置文件结构以及如何将所有内容链接在一起以使用用户特定的值。

发布您的扩展

发布可以让用户安装您的扩展,您可以将您的扩展编译成容器镜像,供用户轻松使用。按照 发布 指南的步骤来了解如何分发您的扩展。

结论

创建扩展为根据您的特定需求定制 Podman Desktop 开辟了无限的可能性。

此外,您也可以轻松地打包和发布您的扩展,供其他人使用。

祝您在探索如何创建扩展的文档和编码过程中玩得开心!

Podman 桌面 1.13 版本发布

·阅读时长:6 分钟
Sonia Sandler
助理软件工程师

Podman Desktop 1.13 发布!🎉

podman-desktop-hero-1.13

Podman Desktop 1.13 现已发布。 点击此处下载

此版本包含

  • Hyper-V 支持:现在可以直接从 Podman Desktop 创建和管理 Hyper-V Podman 机器。
  • 搜索镜像功能:从 Podman Desktop 搜索镜像。
  • 更新的空状态页面:只需单击一下按钮即可开始在容器、镜像、Pod 和 Kubernetes 页面中使用。
  • 新的 Kubernetes 导航:所有与 Kubernetes 相关的页面都已移至单独的子菜单,以便更轻松地进行导航,并且不会过于拥挤。
  • 镜像层资源管理器扩展:使用此新扩展,您可以探索镜像的各个层。
  • 实验性 Docker 兼容模式页面:您现在可以试用我们的实验性 Docker 兼容模式页面。

使用 Podman 桌面构建您的 Kubernetes 应用程序

·阅读时长:5 分钟
Shipra Singh
技术作家

Podman Desktop 与 Kubernetes 的集成可帮助您在 Kubernetes 集群(例如 Kind 或 Minikube)上运行应用程序。

本博文涵盖以下方面

  • 从注册表镜像构建容器化应用程序
  • 创建 Pod
  • 设置本地 Kubernetes 集群
  • 将应用程序部署到 Kubernetes
  • 验证正在运行的服务

构建容器化应用程序

在本博文中,您将构建一个容器化应用程序,该应用程序使用

  • 后端 Redis 服务器容器
  • 前端 Python 应用程序容器

为此,您可以从 quay.io 注册表中提取相关的镜像。

  1. 转到 镜像 组件页面。

  2. 单击 提取从注册表提取

  3. 启动第一个容器

    1. 输入要从注册表中提取的镜像名称。例如,quay.io/podman-desktop-demo/podify-demo-backend输入镜像名称
    2. 单击 提取镜像。将打开一个下载完成通知。
    3. 单击 完成
    4. 单击对应于新添加镜像的 运行镜像 图标。 运行镜像
    5. 输入容器名称 redis-server
    6. 单击 启动容器启动后端容器
    7. 单击 日志 选项卡以查看 Redis 服务器是否以独立模式运行。 查看日志选项卡
  4. 启动第二个容器

    1. 输入要从注册表中提取的镜像名称。例如,quay.io/podman-desktop-demo/podify-demo-frontend

    2. 单击 提取镜像,然后单击 完成

    3. 单击对应于新添加镜像的 运行镜像 图标。

    4. 输入容器名称 python-app输入图片名称

      注意

      如果默认端口已被占用,您可以在“端口映射”字段中指定其他端口。

    5. 选择“网络”选项卡,并输入主机名 redis-server 和 IP 地址 10.88.0.2,以启用与 Redis 服务器的通信。

      注意

      您可以在 redis-server 容器详细信息页面中的“检查”选项卡中找到 IP 地址。

    6. 单击“启动容器”。 启动前端容器

    7. 单击“日志”选项卡查看应用程序是否在端口 5000 上运行。 前端应用程序正在运行

    8. 单击页面右侧的“打开浏览器”图标。

    9. 查看正在运行的前端应用程序。 正在运行的前端应用程序

创建 Pod

您可以使用这两个容器来创建 Pod。 这样,前端和后端容器应用程序就可以共享资源,例如存储和网络。

使用现有容器创建 Pod

  1. 转到“容器”页面。
  2. 选择前端和后端容器。
  3. 单击“创建 Pod”按钮。 从容器创建 Pod
  4. 单击“创建 Pod”。 将容器复制到 Pod
  5. 在“Pod”页面上查看新创建的 Pod。
  6. 单击 Pod 名称,然后单击“摘要”选项卡以查看其摘要。 查看 Pod 详细信息

替代方法:使用 Kubernetes YAML 创建 Pod

您可以为任何现有的 Pod 或容器生成 Kubernetes 清单,并使用它创建本地 Kubernetes YAML 文件。 然后,您可以自定义该文件并从中创建 Pod。

在创建 Pod 时,您可以选择一个运行时来指示您是否要在 Podman 引擎或 Kubernetes 集群上运行 Pod。 根据您的选择,您将在“Pod”组件页面上看到在新环境中运行的新创建的 Pod。

以下步骤创建在 Podman 引擎上运行的 Pod。

  1. 转到“Pod”页面。
  2. 单击与 Pod 相对应的溢出菜单图标。 溢出菜单图标
  3. 从下拉列表中选择“生成 Kube”选项。
  4. 在“Kube”选项卡中查看 Kubernetes YAML 配置。 kube 清单
  5. 复制配置并将其粘贴到您机器上的 YAML 文件中。
  6. 编辑 YAML 配置并保存。
  7. 转到“Pod”组件页面。
  8. 单击“播放 Kubernetes YAML”。 播放 Kubernetes YAML
  9. 从您的机器中选择 YAML 文件。
  10. 检查“运行时”字段是否设置为 Podman 容器引擎
  11. 单击“播放”,然后单击“完成”。
  12. 在同一页面上查看新创建的 Pod。

创建 Pod 后,设置本地 Kubernetes 集群以部署 Pod。

设置本地 Kubernetes 集群

您可以设置本地 Kubernetes 集群。 集群连接并运行后,您可以在其上部署应用程序。

根据您的喜好,使用 Kind 或 Minikube 扩展

  1. 从扩展目录安装扩展
  2. 创建 Kubernetes 集群。 请参见 Kind 集群创建Minikube 集群创建

创建 Kubernetes 集群后,您可以在 Kubernetes 组件页面上查看正在运行的控制平面节点和正在运行的 Kubernetes 服务。 该页面还显示集群已连接。

将应用程序部署到 Kubernetes

您可以将应用程序 Pod 部署到具有活动连接的 Kubernetes 集群,并通过服务访问它。 此外,任何作为 Pod 部分的容器都可以部署到 Kubernetes 集群。

  1. 选择您的 Kubernetes 上下文

  2. 转到“Pod”组件页面。

  3. 单击与 Pod 相对应的溢出菜单图标。 溢出菜单图标

  4. 从下拉列表中选择“部署到 Kubernetes”选项。

  5. 选中复选框以使用入口控制器在本地公开服务。 在本地公开服务

    注意

    在运行镜像时配置自定义端口映射时,您可以选择从下拉列表中选择入口主机端口。 入口主机端口 否则,您将看不到此选项。

  6. 单击“部署”,然后单击“完成”。

验证正在运行的服务

  1. 转到“Kubernetes”组件页面。

  2. 执行以下步骤

    1. 单击“服务”选项以查看新创建的服务 my-pod-5000服务已创建
    2. 单击“入口和路由”选项以查看新创建的入口 my-pod入口已创建
    注意

    使用“应用 YAML”按钮直接应用 Kubernetes YAML 文件来创建资源。

Podman 桌面 1.12 版本发布

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

Podman Desktop 1.12 发布! 🎉

podman-desktop-hero-1.12

Podman Desktop 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 功能:ConfigMaps、Secrets 和多文件 Kubernetes YAML 应用现已添加到我们的 Kubernetes 仪表板中。
  • 改进的字体一致性:您将在本版本中注意到一致性方面的巨大差异,因为我们更新了 Podman Desktop 中的所有字体大小。

使用 RHEL 作为 WSL podman 机器

·阅读时长:5 分钟
Jeff Maury
工程经理

Red Hat 提供了一个名为 Image Builder 的工具,它允许开发人员以多种格式构建他们自己的自定义 RHEL 镜像。 最近,Image Builder 添加了 WSL 作为目标,使您能够在 Windows 上以 WSL 发行版的形式运行 RHEL。

这篇文章 详细说明了构建和运行 RHEL WSL 镜像所需的步骤和操作。

本文的目的是描述 RHEL WSL 发行版所需的选项,以便它可以用作 Podman 机器。

要将 RHEL WSL 镜像用作 Podman 机器,请确保安装以下软件包

  • podman
  • podman-docker
  • procps-ng
  • openssh-server
  • net-tools
  • iproute
  • dhcp-client
  • sudo
  • systemd-networkd

幸运的是,除了最后一个软件包之外,所有软件包都可以在预配置的 RHEL 9 存储库中找到。 最后一个软件包 (systemd-networkd) 可从 EPEL 9 存储库获得,需要在构建镜像时进行配置。

构建镜像

导航到 image builder

image builder

在右上角菜单中,启用“预览”模式。

image builder preview

单击“添加蓝图”以打开“创建镜像”对话框向导。

image wizard

在“镜像输出”页面上,选择以下内容

  • 从“版本”列表中,选择 Red Hat Enterprise Linux (RHEL) 9。
  • 从**选择目标环境**选项中,选择**WSL - Windows Subsystem for Linux (**.tar.gz**)**。
  • 单击**下一步**。

在**注册**页面上,选择**自动注册并启用高级功能**。

  • 从下拉菜单中,选择一个激活密钥用于镜像。请参阅创建激活密钥
  • 单击**下一步**。

在**OpenSCAP**页面上,由于它不支持 WSL 镜像,因此单击**下一步**。

在**文件系统配置**页面上,选择**推荐:使用自动分区**。

  • 单击**下一步**。

在**内容**页面上,完成以下步骤以将其他包添加到镜像中

  • 在存储库快照步骤中

    • 选择使用最新内容。
    • 单击**下一步**。
  • 在自定义存储库步骤中

custom repositories

单击此处创建和管理存储库链接。这将打开一个新标签。

custom repositories

单击**立即添加存储库**

add custom repository

单击**添加存储库**

add custom repository

在**添加自定义存储库**页面上,选择以下内容

关闭标签并切换回上一个标签。

  • 在过滤器输入字段中,键入 EPEL。
  • 选择 EPEL 9 存储库。

custom repository created

单击**下一步**

  • 在其他包步骤中

    • 在**可用包**搜索字段中,输入 podman 并单击**→**按钮。
    • 选择 podman 和 podman-docker 包。
    • 在**可用包**搜索字段中,输入 procps-ng 并单击**→**按钮。
    • 选择 procps-ng 包。
    • 在**可用包**搜索字段中,输入 openssh-server 并单击**→**按钮。
    • 选择 openssh-server 包。
    • 在**可用包**搜索字段中,输入 net-tools 并单击**→**按钮。
    • 选择 net-tools 包。
    • 在**可用包**搜索字段中,输入 iproute 并单击**→**按钮。
    • 选择 iproute 包。
    • 在**可用包**搜索字段中,输入 dhcp-client 并单击**→**按钮。
    • 选择 dhcp-client 包。
    • 在**可用包**搜索字段中,输入 sudo 并单击**→**按钮。
    • 选择 sudo 包,然后单击**>**按钮将包搜索结果中显示的选定包添加到**已选包**双列表框中。
    • 在**可用包**搜索字段中,输入 systemd 并单击**→**按钮。
    • 选择 systemd-networkd 包。
    • 单击**下一步**

在**首次启动脚本配置**页面上

  • 单击**下一步**。

在**详细信息**页面上

  • 在**蓝图名称**中,输入 rhel-wsl。
  • 单击**下一步**。

在**审核**页面上

  • 单击**创建蓝图并构建镜像**。

images list

镜像正在构建。构建完成后,下载链接将可用。单击**下载 (.tar.gz)**链接并将下载的文件保存到本地文件夹之一。

创建 RHEL WSL podman 机器

启动 Podman Desktop 并转到**设置 -> 资源**页面。

images list

在 Podman 提供商上,单击**创建新的...**。

在**创建 Podman 机器**页面上,单击**镜像路径**字段的**浏览**按钮,然后选择从镜像构建器下载的文件。

create podman machine

单击**创建**按钮:机器将被创建并启动。短暂时间后,操作状态将被报告。

podman machine created

让我们玩玩 RHEL WSL podman 机器

转到**镜像**页面并拉取**httpd**镜像。

pull httpd image

单击**完成**。

images list

单击**运行镜像**图标启动镜像。

images list

容器启动后,可以在https://127.0.0.1:9000访问 Apache 服务器。

Podman 桌面 1.11 版本发布

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

Podman Desktop 1.11 发布!🎉

Podman-desktop-1-11-hero

此版本引入了

  • **实验性浅色模式!**:我们最受欢迎的功能来了!在设置中试用我们新的实验性浅色模式。
  • **Apple Silicon 的 Rosetta 支持**:构建 AMD64 二进制文件的速度与 ARM64 二进制文件几乎相同。
  • **Kubernetes 改进**:查看我们为 Kubernetes 提供的新节点和卷页面。
  • **改进的 UI**:除了我们的浅色模式外,您还会注意到我们容器列表页面的更新。
  • **增加了清单支持**:作为清单构建的镜像现在会分组在一起。

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

Podman 桌面 1.10 版本发布

·阅读时长:5 分钟
Tim deBoer
架构师

Podman Desktop 1.10 发布!🎉

Podman-desktop-1-10-hero

此版本引入了

  • **100 万次下载!**:哇,我们做到了!
  • **扩展目录**:重新设计的扩展页面和目录,以充分利用 Podman Desktop。
  • **Podman 5**:Podman 5.0.2 现在推荐给所有用户。
  • **多平台构建**:一次性构建多个平台。
  • **扩展 API 改进**:对 🦭 Podman Desktop 扩展使用的扩展 API 进行了其他更新。

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

Podman 桌面 1.9 版本发布

·阅读时间:7 分钟
Florent Benoit
首席软件工程师

Podman Desktop 1.9 发布!🎉

Podman-desktop-1-9-hero

此版本介绍了:🦭 一抹创新,一阵兴奋,以及无限可能!

  • **Podman 5!** Podman 5.0.1 适用于新用户(以及作为 4.x 用户的实验性升级)。
  • **Podman 4.9.4**:Podman 4.9.4 现在已包含在 Windows 和 macOS 安装程序中。
  • **备份/恢复镜像**:将镜像或容器保存到 tar 档案并恢复它们。
  • **Kubernetes Pod 终端**:连接到 Kubernetes Pod 内的终端。
  • **扩展 API 改进**:对 🦭 Podman Desktop 扩展使用的扩展 API 进行了其他更新。

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

Podman 桌面 1.8 版本发布

·阅读时长:8 分钟
Tim deBoer
架构师

Podman Desktop 1.8 发布!🎉

Podman-desktop-1-8-hero

我们发布了一个新版本,充满了海豹的魅力!此版本介绍了

  • **Podman 4.9.3**:Podman 4.9.3 现在已包含在 Windows 和 Mac 安装程序中。
  • **Kubernetes 资源管理器**:用于处理 Kubernetes 集群的先进 UI 和新工具。
  • **全局入门**:通过一系列引导工作流程,轻松配置和设置您的环境,无需任何麻烦。
  • **学习中心**:为开发人员发现新的用例和功能。
  • **扩展 API 改进**:对扩展 API 进行了又一次重大更新,为 🦭 Podman Desktop 的扩展提供了更多优点。
  • **增强构建、Pod 列表和故障排除页面**:构建不同平台,升级的 Pod 视图等等。

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


发布详情

Podman 4.9.3

🦭 Podman 4.9.3 包含针对用户报告的稳定性和可靠性问题的关键修复 - 尤其是如果您使用的是 Apple 硅架构。如果您一直处于困境,我们强烈建议您更新!

Kubernetes 资源管理器

在过去的版本中逐渐作为实验性功能推出,我们已准备好扩展我们的功能,以帮助开发人员从容器过渡到 Kubernetes。在此版本中,我们正在引入一组新功能,使开发人员能够使用更多 Kubernetes 资源,为您的应用程序提供更细粒度和交互式的控制。

🦭 Podman Desktop 现在提供了一个新的 Kubernetes 资源管理器,除了对 Pod 的现有支持之外,它还能够处理部署、服务、入口和路由。对于这些资源中的每一个,🦭 Podman Desktop 都提供有关集群上资源状态的实时信息。您还可以从该概述页面的右上角单击“应用 YAML”来创建或更新集群上的资源(类似于“kubectl apply -f”),并查看当前连接状态。

Deployments Overview

与本地容器或镜像一样,您可以单击查看有关摘要、检查和 Kube(YAML)页面的更多详细信息。

Deployment Summary

看到问题了吗?您可以直接从 Kube 选项卡编辑和应用更改。

Deployment Kube YAML

🦭 Podman Desktop 继续弥合差距和差异,以赋予使用容器工作的开发人员有效的工作流程,以从其本地工作站定位 Kubernetes。所有这些功能都补充了已经可用的一些很棒的功能

  • 使用 Podman 的原生 Kubernetes 支持
  • Podify - 将容器转换为 Pod
  • 使用 Minikube 和 Kind 扩展设置本地 Kubernetes 环境
  • 部署到 Kubernetes 并将本地镜像从 Podman 推送到 Kubernetes 环境
  • 管理 Kubernetes 上下文
  • 连接到远程 Kubernetes 集群

全局入门

通过引入新的基于向导的入门流程,现在可以更轻松地配置和设置本地环境。在此流程中,开发人员可以选择他们需要的不同工具,🦭 Podman Desktop 将引导他们完成每个工具的配置和设置。

全局入门流程允许开发人员配置 Podman、Compose 和 kubectl(用于处理 Kind 和 Minikube 或远程 Kubernetes 环境)。这使得过渡到 🦭 Podman Desktop 变得更加简单,因为任何所需的依赖项都会自动配置。

Global Onboarding

学习中心

在此版本中,我们在仪表板上添加了一个学习中心,使开发人员能够发现、学习和扩展他们在与容器化相关的主题上的知识。这些指南方便易用,涵盖从学习如何将现有应用程序容器化到发现 🦭 Podman Desktop 的最新功能以及如何最好地使用它们等主题。

Learning Center

扩展 API 改进

我们继续花费大量时间添加新的扩展 API,以便即将推出的扩展能够获得更多功能,并更好地集成到 🦭 Podman Desktop 中

  • 拆分 getMatchingPodmanEngine #6160
  • 在创建容器时添加 HealthCheck 参数 #5981
  • 向扩展公开 listPods #5864
  • 创建 Pod 的标签 #5862
  • 允许在 Pod 中创建容器 #5848
  • OpenPod 应重定向到 Pod 的视图 #5846
  • 增强 createContainer API,添加缺失的参数 #6011
  • 允许扩展使用 openDialog/saveDialog #6009
  • 允许在贡献的动作中使用自定义图标 #5995
  • 添加缺失的类型 #6213
  • 允许从扩展导航到特定的 webview #5899
  • 向扩展公开 stopPod 和 removePod #5898
  • 使用新的 API 打开/保存对话框 #6051, #6050, #6049
  • 扩展 Podman Desktop API 构建镜像参数 #5882
  • 允许扩展统计容器 #6211

其他值得注意的增强功能

我们在本版本中添加了超过 40 个功能,以下是其他亮点

  • 改进 Podman Desktop 更新提醒 #6068
  • 在故障排除中添加收集和下载日志按钮 #5119
  • 为 Linux 启用 podman machine #5902
  • 多重删除动画 #5717
  • 镜像删除动画 #5709
  • 卷删除动画 #5707
  • 打开 OpenShift 路由 #5560
  • 添加打开已创建的 Pod 详情 #4499
  • 在部署到 Kubernetes 集群时使用 https #5824
  • 仪表板页面上的入门轮播图 #5142
  • 在删除对象时添加确认对话框 #5445

我们还在实施浅色模式方面取得了重大进展

  • 对反转内容使用主题颜色 #6029
  • 对辅助导航使用主题颜色 #6028
  • 对全局导航应用主题颜色 #6027
  • 对标题栏应用主题颜色 #6025
  • 一致的关闭按钮 #6060
  • 在快速选择中使用组件 #6057
  • 向 webview 提供 css 颜色 #5963
  • 将颜色发布到应用程序的样式 #5962
  • 允许扩展使用颜色集贡献主题 #5961
  • 用于颜色的存储 #5960
  • 包含一个颜色注册表 #5958
  • 添加实用程序方法以获取主题的值 #5947
  • 当操作系统更改颜色时发送事件 #5946
  • 清理 dark: 前缀颜色 #5944
  • 将调色板提取到自己的文件中 #5931
  • 输入组件 #5904
  • 输入错误,在运行镜像中使用输入组件 #5988
  • 在构建镜像时使用输入 #5986
  • 对代理设置使用输入 #5943
  • 对注册表使用输入 #5939
  • 从容器创建 Pod 时使用输入 #5935
  • 在扩展页面中使用输入组件 #5934
  • 在创建卷时使用输入 #5933
  • 在重命名镜像时使用输入 #5964
  • 在部署到 kube 中使用复选框组件 #6030

值得注意的错误修复

我们在本版本中修复了许多错误,包括以下内容

  • 将容器复制到 Pod 时复制挂载的卷 #5640
  • 更改卷和容器列表中“创建”按钮的顺序 #6092
  • 当上下文值更新时刷新入职项目 (#4597) #6173
  • 更好地记录信息连接错误 #6158
  • 网站:替换损坏的链接 #6111
  • 将空屏幕居中 #6077
  • 不要询问打开本地文件夹/文件的确认 #5743
  • 强制面包屑垂直对齐 #5741
  • 身份验证页面中的长用户名 #5737
  • 用于更新任务名称的 message 属性 #5731
  • 导航项目 UI 修复 #5886
  • 显示注册表的图标 #5843
  • 检查路由 tls 以使用 http 或 https #5825
  • 白色工具提示 #5887
  • 限制注册表用户名列宽度 #5718
  • 在 Linux 上删除 Docker 兼容性警告和按钮 #5903
  • 容器使用的镜像 #5663
  • 删除上下文时应更改/更新当前上下文 #5819
  • 不要折叠侧边栏上的类别 #5727
  • 使 localhost 成为 env.openExternal 调用的有效域名 #5716

文档

除了这个新的 🦭 Podman Desktop 版本,文档也做了以下改进

  • containerEngine api 中与容器和镜像相关的 method #5891
  • 删除使用 openshift local 安装 podman #6070
  • 记录镜像检查器提供程序 API #5813
  • 添加 withProgress api 文档 #5736
  • 添加指向故障排除页面的链接 #5734
  • 在 macOS M1/M2/M3 上安装故障排除 #5708
  • 卷删除 #5707
  • 添加了 _从另一个 WSL 实例访问 Podman_(配置,验证) #5706
  • 使用 typedoc 生成 api 文档 #5705

社区感谢

🎉 我们要感谢所有帮助 🦭 Podman Desktop 变得更好的贡献者。在本版本中,我们收到了以下人员的 pull request


最终说明

已修复的问题

本版本修复的所有问题的完整列表可在 此处 查看。

下载位置

从网站的 下载 部分获取最新版本,并通过 Podman Desktop 提升您的开发之旅。此外,请访问 GitHub 存储库,看看您如何帮助我们改进 Podman Desktop。

Podman 桌面荣获 2024 年 DEVIES 奖

·阅读时长:2 分钟
Cedric Clyburn
开发者倡导者

我们很荣幸地宣布,Podman Desktop 已获得享有盛誉的 2024 DEVIES 奖,“容器和 Kubernetes”类别奖项。该奖项证明了 Podman Desktop 团队以及更广泛的开源社区的努力,这些努力旨在帮助开发人员。Podman Desktop 提高了开发人员容器工作流程的效率,并为 应用程序从容器到 Kubernetes(领先的开源容器编排平台)的轻松过渡 提供了支持。

“虽然 Podman Desktop 仅在去年正式发布,但社区的反应非常令人印象深刻,也令人难以置信地令人欣慰。我们对获得这一杰出认可感到非常自豪,它表彰了我们对塑造容器开发未来的热情、承诺和创新,而这一切都得到了 Red Hat 支持的充满活力的开源标准的支持。”Podman Desktop 团队的产品经理 Stévan Le Meur 说道。

hero

DEVIES 奖是什么?

DEVIES 奖由 DeveloperWeek 颁发,表彰软件开发社区中最具创新性和影响力的工具、平台和技术。Podman Desktop 荣获容器和 Kubernetes 领域最佳创新奖,突出了它对该行业的重要影响力以及它在彻底改变开发人员构建、交付和运行应用程序的方式方面发挥的作用。DEVIES 奖获奖者由独立的行业领先的 DevNetwork 咨询委员会从数百名提名人中选出。

加入我们一起庆祝!

我们很高兴将在 2024 年 2 月 21 日至 23 日于加利福尼亚州奥克兰举办的 DeveloperWeek 2024 的舞台上颁发该奖项,并将于 2024 年 2 月 27 日至 29 日(虚拟)举行。此外,Red Hat 开发者倡导者 Cedric Clyburn 将就 Podman Desktop 发表一场名为“从容器到 Pod 再到 Kubernetes – 开发环境的帮助!”的演讲,并完整介绍 Podman、演示 Podman Desktop 体验以及从容器到 Pod 最后到 Kubernetes 的多层应用程序!

最后,不得不承认,这一奖项是 整个 Podman Desktop 贡献者社区 共同努力的结果!我们还要感谢 DevNetwork 咨询委员会和 DeveloperWeek 颁发给我们这份荣誉,并感谢他们为我们提供了与更广泛的开发者社区分享 Podman Desktop 创新的机会。

在 macOS 和 Windows 上解锁 WebAssembly

·阅读时长:11 分钟
Florent Benoit
首席软件工程师

在 macOS 和 Windows 上无缝运行 WebAssembly/Wasm 二进制文件

您可能最近听说过关于 Wasm 和 WASI 的兴奋消息。想象一个世界,您可以在其中毫不费力地运行 Wasm 二进制文件并使用 Open Container Initiative (OCI) 容器映像分发它们,一个可以在多个架构上部署的单一映像。

虽然这个概念似乎很简单,但完成这项任务却证明非常具有挑战性,特别是在 macOS 和 Windows 上。复杂性来自运行 Linux 的额外虚拟机。这台机器需要正确设置所有依赖项和先决条件。

等待结束了。我们的博客文章揭示了解决方案,指导您完成在 macOS 和 Windows 上启用 Wasm 工作负载的过程。

hero

Podman 桌面 1.7 版本发布

·阅读时长:6 分钟
Tim deBoer
架构师

Podman Desktop 1.7 版本发布!🎉

Podman-desktop-1-7-hero

我们发布了一个新版本,充满了海豹的魅力!此版本介绍了

  • Podman 4.9.0Podman 4.9.0 现已包含在 Windows 和 Mac 安装程序中。
  • 扩展 API 改进:扩展 API 的重大更新,为 🦭 Podman Desktop 的扩展提供了更多好处。
  • 实验性 Kubernetes UI:抢先体验用于处理 Kubernetes 集群的更高级 UI。
  • **增强构建、Pod 列表和故障排除页面**:构建不同平台,升级的 Pod 视图等等。

Podman Desktop 1.7 现已发布。点击此处下载


发布详情

Podman 4.9

🦭 Podman 4.9 包含对用户报告的稳定性和可靠性问题的关键修复。如果您遇到问题,我们强烈建议您更新!

如果您使用的是 Mac M3,我们知道 Podman 中存在一个严重问题,预计很快会更新以解决此问题:#21353 - 更新到新的 QEMU(基于 #1990 - M3 上的 QEMU 问题)。如果您遇到此问题,可以参考 此处此处 的解决方法。

扩展 API 改进

在本版本中,我们投入了大量时间添加新的扩展 API,为即将推出的扩展提供更多功能,并更好地集成到 🦭 Podman Desktop 中。我们添加了对全页面 webview、映像徽章、图标、导航 API 以及对容器引擎中更多功能的 API 访问的支持。

  • UI 中的 Webview #5594
  • 为扩展添加 webview API #5592
  • 允许扩展列出 webview #5628
  • 在不启动的情况下创建容器 #5643
  • 公开创建/启动 Pod 和复制 Podman 容器 #5648
  • 为扩展公开创建/列出/删除卷 #5598
  • 将 getImageInspect 添加到 API #5596
  • 映像图标的新贡献点 #5543
  • 添加 BuildOption #5533
  • 将平台参数添加到映像构建方法 #5501
  • 公开构建映像方法 #5500
  • 导航 api #5558
  • 通过扩展为映像列表/详细信息注册徽章 #5557
  • 从私有注册表安装扩展 #5473

实验性 Kubernetes UI

过去几个月,我们一直在努力扩展对 Kubernetes 的支持。此支持尚未准备好正式发布,但如果您正在使用 Kubernetes 集群,我们非常乐意开始收集您对方向的反馈!

要“打破封印”并试用它,请转到设置 > 首选项 > Kubernetes,并启用实验性选项。

Kubernetes Preference

这将在主导航中添加三个新项目,允许您查看部署、服务和 Ingress & 路由。

Kubernetes Deployments Kubernetes Services Kubernetes Ingresses & Routes

在本版本中,您可以点击部署和服务以查看更多详细信息(例如摘要、检查和 YAML 选项卡),但目前尚不支持 Ingress 或路由。

希望一切顺利,但如果您想看到其他内容,请在 Github 上提交 issue。

增强构建、Pod 列表和故障排除页面

构建镜像时,您现在可以选择为哪些平台构建镜像。

Build platform

我们已升级 Pod 视图,使用与镜像和卷相同的表格组件。这允许排序和更好的列缩放。

Pods table

遇到问题并希望重新开始?故障排除页面已切换到选项卡,并且有一个选项可以清除您现有的安装。

Troubleshooting Purge


其他值得注意的增强功能

在此版本中,我们添加了 40 多个功能,以下是其他一些亮点。

  • 按下 esc 退出入职引导 #5612
  • 快速选择不区分大小写的过滤 #5582
  • 添加 UI 徽章组件 #5522
  • 在构建镜像中扩展连接输入类型 #5499
  • 导航部分 #5449
  • 改进身份验证提供商页面 #5424
  • 添加 groupContributions 逻辑 #5415
  • 添加选项以选择如何在开发模式下打开开发工具 #5274
  • 表单进度 #5253
  • 改进的提供商卡 #5013

值得注意的错误修复

在此版本中,我们修复了 25 个以上的错误,包括以下内容。

  • 将容器复制到 Pod 时复制挂载的卷 #5640
  • 添加缺少的 Labels 属性 #5632
  • 修复如果容器仅创建则 UI 未刷新的问题 #5619
  • 快速选择过滤器会移除选择 #5613
  • 为 createContainer API 添加缺少的类型 #5504
  • 使用 window.showMessageBox 代替自定义模态 #5421
  • 添加 cleanupSupport 属性 #5309
  • 空屏幕默认情况下重置过滤器 #5307
  • 不要获取 Compose 的预发布版本 #5296
  • providerinfo 徽章 #5268
  • 当年龄更新时不要刷新镜像列表 #5267
  • 重命名 kubectl 扩展 #5255
  • 尝试首先在用户路径上搜索 kubectl #5248
  • 取消注册扩展时释放 wsl2 命令 #5246
  • 处理从存档加载镜像时的事件 #5240
  • 编辑 Podman 机器支持,仅适用于 MacOS #5239
  • 改进默认贡献操作图标 #5236
  • 主/辅助按钮的颜色应为白色 #5232
  • 更新 podman 时禁用通知 (#5228) #5229
  • 允许表格列指定溢出 #5222
  • ProgressImpl 正确地将中间件任务设置为正确的结果状态 #4342

文档

除了这个新的 🦭 Podman Desktop 版本,文档也做了以下改进

  • 更新 Compose 博客文章链接 #5547
  • 当应用程序因另一个实例存在而终止时显示消息 #5348
  • 记录入职引导 ID 规则 #5211
  • 多平台扩展 #5205
  • 关于 Compose 来宾簿应用程序的博客文章 #5033
  • 重构了设置容器注册表 #4965

社区感谢

🎉 我们要感谢所有帮助使 🦭 Podman Desktop 变得更好的用户(是的,包括你,Anders!)。在此版本中,我们收到了以下人员提交的拉取请求。


最终说明

已修复的问题

在此版本中修复的完整问题列表可在此处获取 此处.

下载位置

从网站的 下载 部分获取最新版本,并通过 Podman Desktop 提升您的开发之旅。此外,请访问 GitHub 存储库,看看您如何帮助我们改进 Podman Desktop。

Podman 桌面上的 Compose 入门

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

在这篇博文中,我们将学习如何将一个多容器 Compose 应用程序引入 Podman Desktop。

目标

  • 通过 podman compose up 启动 Compose YAML。
  • 查看来宾簿 Web 应用程序。
  • 确认 Web 应用程序正在与数据库同步并正常运行。
  • 使用 Podman Desktop 查看、检查和访问 Redis 集群的终端。

什么是 Compose

Compose 是一个规范,用于定义和运行多容器 Docker 应用程序。使用 Pose,您可以使用 YAML 文件配置应用程序的服务、网络和卷。这使您能够在一个文件中捕获运行一组互连容器作为应用程序所需的所有配置。例如,如果您有一个应用程序需要 Web 服务器、数据库和缓存服务,您可以在 Compose 文件中定义这些组件及其关系。

要使用 Compose YAML,您可以使用规范实现,例如 podman composedocker compose.

开始之前

如果您尚未安装 Compose,让我们一起完成入职引导流程,以安装 Compose 实现二进制文件。

  1. 转到** 设置 > 资源**下。
  2. 单击 Compose 下的**设置**(如果尚未安装,它将显示)。
  3. 完成入职引导流程。

Onboarding process

确认您能够运行 podman compose

podman compose
Run compose workloads via an external provider such as docker-compose or podman-compose

Description:
This command is a thin wrapper around an external compose provider such as docker-compose or podman-compose. This means that podman compose is executing another tool that implements the compose functionality but sets up the environment in a way to let the compose provider communicate transparently with the local Podman socket. The specified options as well the command and argument are passed directly to the compose provider.
...

下载并运行示例应用程序

我们的示例应用程序位于 github.com/redhat-developer/podman-desktop-demo

我们将使用 git clone,以便我们可以构建 Go 二进制 Web 应用程序。

git clone https://github.com/redhat-developer/podman-desktop-demo
cd podman-desktop-demo/guestbook-compose

运行 podman compose up -d 以启动应用程序。

podman compose up -d
>>>> Executing external compose provider "/usr/local/bin/docker-compose". Please refer to the documentation for details. <<<<

[+] Running 3/3
✔ Container redis-replica Started 0.0s
✔ Container web Started 0.0s
✔ Container redis-leader Started 0.0s

查看来宾簿应用程序

在 Podman Desktop 中,您现在可以看到所有三个容器都已启动并运行。

单击“打开浏览器”按钮以查看 Web 应用程序。

Open browser

在来宾簿 Web 应用程序中,您可以

  • “签署”来宾簿,这将写入 Redis 主节点并同步到副本。
  • “读取”来宾簿,这将从 Redis 副本池中读取。这允许即使 Redis 主节点不可用也能进行可读性。
  • /env:查看容器的环境变量。
  • /info:查看有关 Redis 集群的信息。

Guestbook application

查看和修改数据库

使用 Podman Desktop,您还可以直接从 GUI 访问容器的终端并修改数据库。

单击“打开终端”以访问 redis-leader 终端。

Open terminal

修改数据库,就像您在进行数据库管理一样。

  1. 在容器内运行 redis-cli 以访问 Redis 数据库。
  2. 键入 LPUSH guestbook "Hello World!",您将看到您的 Web 应用程序实时更新。
  3. 键入 DEL guestbook,您将看到您的数据库会删除 guestbook 键并清除数据库。

Redis CLI

更改将实时反映在来宾簿上。

您可以进一步修改数据库,并查看更改传播到 Redis 副本。

例如,查看 redis-replica 的日志,您会注意到有定期的数据库同步以及对数据库的读取。

Redis replica logs

它是如何工作的?

简要概述此多容器场景中架构的工作原理。

  • 在来宾簿应用程序中,它会在端口 6379 上查找名为 redis-leaderredis-replica 的数据库。
  • 由于它是一个 Compose 应用程序,容器在同一个网络上连接。这意味着相邻容器可以通过其容器名称进行网络访问。

有一组环境变量,Web 应用程序可以在 Compose 应用程序中修改这些环境变量。

  • REDIS_LEADER: 默认值为 redis-leader
  • REDIS_REPLICAS: 默认值为 redis-replica。可以是逗号分隔的,例如 redis-replica-1,redis-replica-2
  • REDIS_PORT: 默认值为 6379
  • SERVER_PORT: 默认值为 8080

扩展更多副本

想要扩展更多副本吗?这可以通过在你的 compose.yaml 中添加一个环境变量并复制你的 redis-replica 条目来实现。

修改你的 compose.yaml 如下所示

services:
redis-leader:
container_name: redis-leader
image: redis:latest
ports:
- '6379'

redis-replica:
container_name: redis-replica
image: redis:latest
ports:
- '6379'
command: redis-server --replicaof redis-leader 6379

redis-replica-2:
container_name: redis-replica-2
image: redis:latest
ports:
- '6379'
command: redis-server --replicaof redis-leader 6379

web:
container_name: web
build: ./web
environment:
- REDIS_REPLICAS=redis-replica1,redis-replica2
ports:
- '8080:8080'

再次运行 podman compose up -d 以确保新容器已添加且新环境变量已传播。

podman compose up -d
>>>> Executing external compose provider "/usr/local/bin/docker-compose". Please refer to the documentation for details. <<<<

[+] Running 4/4
✔ Container redis-replica-2 Started 0.0s
✔ Container redis-leader Running 0.0s
✔ Container web Started 0.0s
✔ Container redis-replica Running 0.0s

Podman 桌面 1.6 版本发布

·阅读时长:11 分钟
Stevan Le Meur
产品经理

Podman Desktop 1.6 版本发布!🎉

Podman-desktop-1-6-hero

此版本引入了

  • Minikube 特色扩展: Minikube 扩展,用于在容器中创建本地 Kubernetes 集群。
  • Podman 4.8.2: Podman 4.8.2 现已包含在 Windows 和 Mac 安装程序中。
  • 命令行工具设置页面: 管理和更新你的 CLI 工具。
  • Kubernetes 上下文管理器: 浏览你所有的 kubernetes 上下文,设置默认值并删除未使用的上下文。
  • 适用于 macOS 的可编辑 Podman 机器: 轻松调整和重新配置 Podman 运行时环境。
  • 容器和 Pod 列表的过滤器: 专注于你正在处理的容器和 Pod。
  • 卷和镜像列表的排序: 使用你喜欢的条件对卷或镜像进行排序。
  • 容器和 Pod 列表上的环境列: 轻松获取容器或 Pod 运行所在的環境。
  • 扩展 API 改进: 对扩展 API 进行了另一组改进,为 🦭 Podman Desktop 的扩展提供了更多好处。

Podman Desktop 1.6 现已发布。 点击这里下载它!


发布详情

对于需要在本地运行 Kubernetes 并复制接近生产环境的环境以进行开发和实验目的的开发人员来说,Podman Desktop 允许用户轻松地在本地机器上设置该环境。有两个扩展提供了在本地配置开源 Kubernetes 集群的功能,你可以选择 KindMinikube

Minikube 扩展允许你在你的工作站上安装 Minikube,并且还可以设置一个在容器中运行的本地 Kubernetes 集群!没错,你没有看错 - 在一个类似于 Kind 工作方式的容器中。优势在于它更轻便,启动速度更快。使用 Minikube,其中一个优势是,你可以使用 Podman 在本地构建你的镜像,并让它们自动在你的本地 Kubernetes 集群中可用 - 这将加快你在想要测试你的应用程序时的周转时间。如果你想了解更多这方面的信息,请阅读 以下博客文章

Minikube-feature-extension

命令行工具配置:Compose 和 Kubectl

通过在设置中添加一个新部分来管理命令行工具,配置和管理你的设置变得更加容易。在 Podman Desktop 中,扩展可以列出对它们的使用者有帮助或需要使用已安装的扩展的命令行工具。

Podman Desktop 中有两个命令行工具允许你查看它们是否已安装或是否需要更新。

  • 用于运行“podman compose”命令的 Compose 二进制文件。
  • kubectl 用于与 Kubernetes 集群交互。

cli-tools

从设置中,你可以看到已安装的命令行工具,以及它们的版本 - 当有新版本可用时,你会收到一个小的通知,允许你轻松地更新到该版本。

Compose-Update

Kubernetes 上下文管理器

我们正在引入一个新的屏幕,它可以从设置中访问,允许你轻松地管理你的 Kubernetes 上下文。Podman Desktop 已经提供了从状态栏访问的方便的上下文切换器,但是当你开始使用多个 Kubernetes 环境时,最终会出现一个又长又大的 Kubernetes 上下文列表,这种情况并不少见。

新的 Kubernetes 上下文屏幕允许你轻松地查看所有注册的 Kubernetes 上下文。你可以使用该屏幕清理你的注册上下文,或设置当前(默认)上下文。

Kubernetes Contexts List

可编辑的 Podman 机器

Podman 机器是一个专门设计用于在 Mac 和 Windows 上运行 Podman 容器的虚拟环境。它允许用户在一个隔离和受控的环境中管理和操作容器化应用程序。在创建 Podman 机器时,你需要配置它的设置:内存、CPU(s) 和磁盘大小。

我们收到了关于在运行时重新配置你的 Podman 机器功能的反馈。这现在对于 macOS 用户来说是可能的,当你从一个环境开始并需要根据新需求和你想要在 Podman 环境中运行的新容器来扩展它时,这尤其有用。

Editable podman machine

你会注意到我们改进了配置 Podman 机器选项的滑块 - 并且还引入了一种直接输入数值的方法。

容器和 Pod 的选项卡/过滤器

能够快速识别你正在处理的容器和 Pod 在你迭代应用程序开发时至关重要。出于这个原因,我们在容器和 Pod 列表的顶部添加了过滤器,允许你轻松地查看所有容器/Pod,或者只查看正在运行的容器/Pod,或者只查看已停止的容器/Pod。

Filters for containers and pods

卷和镜像列表的排序

卷和镜像列表得到了改进,现在可以根据你选择的条件进行排序。例如,你可以按大小过滤镜像 - 当你想要清理你的环境时,这会很方便。

Sorting for Volumes and Images

容器和 Pod 列表上的环境列

Podman Desktop 能够与多个提供者一起使用:它可以与多个容器引擎和多个 Kubernetes 环境一起使用。为了更容易地识别容器和 Pod,并根据它们运行在哪个环境中来区分它们,我们在容器和 Pod 列表中引入了一个新的环境列来显示一个徽章。

Environment Column

更好地查看运行在 Pod 中的容器

Pod 列表已经过改进,以便更轻松地查看和访问每个 Pod 中运行的容器。每个容器现在都有一个点,你可以将鼠标悬停在每个点上以显示有关容器的信息 - 如果你点击它,你将能够访问容器的详细信息。

Visibility for containers in Pods

扩展 API 改进

🦭 Podman Desktop 扩展 API 收到了许多改进,包括

  • 解释如何为扩展创建入职工作流程的文档 #4837
  • 记录了扩展如何挂钩到 UI #4633
  • 记录了如何实现 api 客户端 #4636
  • 镜像检查器扩展 API #4662
  • 添加了用于注册 cli 更新器的 api #5064

其他值得注意的增强功能

  • 显示容器连接类型和端点 #5098
  • 为 pod/容器添加环境列 #4583
  • 在扩展列表中显示扩展图标 #5101
  • 引入了 UI 图标图像组件 #5117
  • 在 extensionInfo 中添加图标 #5089
  • 在 RunOptions 上添加了编码选项 #4942
  • 引入了外观属性,但目前仅支持深色 #4887
  • 默认表格排序 #4860
  • 在任务管理器中显示完成入职的通知 #4811
  • 在仪表板中添加紫色点,表示有新内容可用 #4782
  • Argos CI: 引入 Argos CI 来跟踪和检测网站上的视觉回归。
  • 新增命令面板:添加启用属性 #4630
  • 添加了有关遥测和使用数据的文档 #4618
  • 引入表格组件 #4545
  • 添加中止构建镜像的功能 #4538
  • 添加对命令面板中类别的支持 #4531
  • 将 flatpak 升级到 org.freedesktop.Platform 版本 23.08 #3968
  • 在 Pod 详情中添加打开暴露的 URL #3762

值得注意的错误修复

  • 修复如果断开连接,则重新连接到 /events #4809
  • 修复:重启机器后重置 loggerhandlerKey #5168
  • 修复:修复:使用错误的标志创建 podman 机器 #5178
  • 修复:如果配置无效,则避免崩溃 #5182
  • 修复:扩展安装检查架构和操作系统 #5191
  • 修复:使用 URL 进行代理规范并添加验证 #4825
  • 修复:不要更改 markdown 按钮的颜色和下划线 #5138
  • 修复:连接被移除时不要重新连接 #5131
  • 修复:表格标题不应该允许文本选择 #5118
  • 修复:为链接添加样式 #5108
  • 修复:launch.json 引用了错误的脚本 #5094
  • 修复:不要链接到 k8s 集群服务器 5087
  • 修复:将完整的 imageInfo 传递给检查函数 #5069
  • 修复:容器选项卡应与 Pod 匹配 #5057
  • 修复:恢复禁用按钮的样式 #5056
  • 修复:响应式更新当前上下文 #5055
  • 修复:使 ProviderResultPage 不更改输入值 #5030
  • 修复:为表格添加 rowgroup #5005
  • 修复:为路由对象添加 path 属性 #4981
  • 修复:删除错误的井号 #4971
  • 修复:检查扩展文件夹是否包含 package.json #4964
  • 修复:重构列表 UI 组件 #4953
  • 修复:Compose 入门成功/完成状态 #4947
  • 修复:从 markdown 按钮渲染中删除 flex 类 #4934
  • 修复:在 Windows 上使用中文作为系统语言时无法读取 wsl 版本 #4918
  • 修复:保留自动启动设置 #4879
  • 修复:使用 vi.waitUtnil 而不是带有等待承诺的循环 #4861
  • 修复:在执行 compose 命令时 Windows 上的 docker 主机 #4855
  • 修复:将 compose 部署合并到 UI 中的 kube 页面 #4827
  • 修复:使用 URL 进行代理规范并添加验证 #4825
  • 修复:如果断开连接,则重新连接到 /events #4809
  • 修复:删除 patternfly 移除后的固定高度 #4804
  • 修复 patternfly 移除后的背景颜色 #4803
  • 修复:报告已停止机器的指标 #4787
  • 整理:更新到 docusaurus v3.0.0 #4764
  • 整理:删除 patternfly #4762
  • 修复:避免发送遥测使用情况,因为此方法每 5 秒调用一次 #4692
  • 修复:devmode 中 roots.exe 的位置 #4654
  • 修复:如果任何端口繁忙,则禁用创建/启动容器 #4637
  • 修复:修复构建镜像测试中的设置 #4625
  • 修复:查找空闲端口 #4616
  • 修复:缩减仪表板上的提供程序卡片的大小 #4615
  • 修复:更短的文档导航部分标题 #4613
  • 修复:如果容器引擎操作在详细信息页面中失败,则报告错误 #4556
  • 修复:删除上一页/下一页栏 #4548
  • 修复:缩减网站页脚 #4546
  • 修复:处理不再是 JSON 数组对象的 compose 格式 JSON #4540
  • 修复:如果推送正在进行,则禁用推送到 kind 菜单项 #4530
  • 修复:检查自签名证书消息,并在编辑注册表密码时使用 insecure 参数 #4523
  • 修复:为摘要页面添加自动滚动 #4504
  • 修复:分析扩展时报告错误 #4380
  • 修复:允许编辑构建容器文件 #4471
  • 重构:更新 compose 入门安装 #4479
  • 重构:从状态栏中删除 compose #4492

文档

随着这个新版本的 🦭 Podman Desktop 的发布,文档得到了以下改进

  • 按提供程序重新组织文档导航 #4558
  • 添加了 Windows 开发的 vsc 运行时依赖项 #5091
  • 显示 lima podman 套接字的位置 #5090
  • 修复了版本发布的 URI 里的错别字 #4909
  • 解释如何为扩展创建入门工作流 #4837
  • 使 lima 能够同时提供 #4789
  • 关于 minikube/共享镜像的博文 #4735
  • 从 Windows 疑难解答中删除重复的文本 #4652
  • 添加实现 api 客户端的步骤 #4636
  • 修复了 limactl 的主要 lima 命令 #4623
  • 在实现改进后清理 lima 提供程序 #4622
  • 更新有关自动合并的文档 #4519
  • 使用标准的操作系统选项卡用于注册表文档 #4497
  • 修复了 mahine -> machine #4495
  • 在注册表部分添加了截图并修复了格式 #4472

社区感谢

🎉 我们要感谢所有帮助使 🦭 Podman Desktop 变得更好的所有人。在这个版本中,我们收到了以下人员的拉取请求


最终说明

已修复的问题

此版本修复的所有问题的完整列表可在 此处 获取。

下载位置

从网站的 下载 部分获取最新版本,并通过 Podman Desktop 提升您的开发之旅。此外,请访问 GitHub 存储库,看看您如何帮助我们改进 Podman Desktop。

将您的本地 podman 镜像与 Kubernetes 集群共享

·阅读时长:8 分钟
Florent Benoit
首席软件工程师

作为开发者,我们不断改进和完善我们的应用程序。我们面临的挑战之一是在处理容器映像和 Kubernetes 部署/Pod 时快速迭代。

例如,当我们想在 Kubernetes Pod 中尝试一个新的映像时,这个映像需要在私有/公共注册表或 Kubernetes 集群的节点上可用。有时我们需要调用额外的命令,例如 kind load docker-imageminikube cache add <image>,或者先将映像发布到第三方注册表。

您会同意在 Kubernetes Pod 中尝试一个新映像应该与构建映像本身一样无缝。

在这篇博文中,我们将探讨使用 Podman Desktop 简化 Kubernetes 中映像迭代过程的最佳实践。

hero

Podman 桌面 1.5 版本发布

·阅读时长:9 分钟
Máirín Duffy
用户体验设计师

Podman Desktop 1.5 版本发布!🎉

在此版本的 Podman Desktop 中,我们引入了**一项新的入门功能**,我们希望它能获得您的🦭认可!但等等... 还有更多!

  • **入门**:**Podman** 和 **Compose** 的引导式设置和配置
  • **Podman 4.7.2**:Podman 4.7.2 现已包含在 Windows 和 Mac 安装程序中
  • **命令面板**:通过新的键盘驱动命令面板轻松访问各种命令
  • **Kubernetes Pod 的“摘要”选项卡扩展**:在 Pod 的“摘要”选项卡中深入了解 Kubernetes Pod 的扩展信息
  • **环境文件支持**:为新的容器创建环境变量,以便在创建时访问
  • **对设置区域的增强**:通过改进的 Docker 兼容模式控制来获得方向
  • **改进的状态更改用户体验**:通过改进的状态变化的视觉指示,不再需要对容器状态进行推测
  • **扩展 API 改进**:对扩展 API 的大量改进,使🦭 Podman Desktop 的扩展功能更强大

Podman Desktop 1.5 现已推出。点击此处下载

Podman-desktop-1-5-hero


发布详情

入门

我们引入了一项新功能,为特定🦭 Podman Desktop 扩展的初始设置提供引导流程。1.5 版本包含两个新的入门流程:Podman 和 Compose。

要开始 Podman 入门流程,您可以从仪表板通知中点击“设置”按钮:podman-onboarding-start podman-onboarding

访问 **设置 > 资源**屏幕,然后点击 Compose 的“设置...”按钮以开始 Compose 入门:compose-onboarding-start compose-onboarding

命令面板

现在提供了一个新的搜索驱动的命令面板,以便快速访问🦭 Podman Desktop 中的各种命令。您可以通过按 F1 键来尝试这个新工具。 #4081 以及 #3979

Kubernetes Pod 的“摘要”选项卡扩展

Kubernetes Pod 现在在“摘要”选项卡下提供了一组更全面的信息,包括网络、卷、环境变量和其他关键元数据。

环境文件支持

从映像列表创建容器时,现在可以选择提供一个环境文件来为新容器设置环境变量。 #4026 以及 #4025

对设置区域的增强

启用或禁用 Docker 兼容性的用户体验得到了改进,在 **设置 > 首选项**屏幕中,其中包含上下文指导。 #4093

改进的状态更改用户体验

UI 中容器、Pod 和其他对象状态更改的用户体验得到了改进,并提供了清晰的状态消息和改进的动画视觉指示器,用于显示状态更改。 #4056

扩展 API 改进

🦭 Podman Desktop 扩展 API 收到了许多改进,包括

  • 除了从扩展中推送和列出映像之外,现在还可以从🦭 Podman Desktop 扩展中拉取映像 #4155

  • 🦭 Podman Desktop 扩展 API 已经得到了增强,它既可以列出映像和网络,也可以创建容器和网络。 #4172

  • 🦭 Podman Desktop 扩展现在可以使用一致的方式来运行管理任务。 #4049

  • 扩展现在可以注册一个自定义 Kubernetes 配置生成器。 #3970

  • 扩展向 UI 菜单添加命令的能力已经扩展;以前,对于操作菜单,它只在映像列表屏幕中可用。现在,扩展也可以向容器列表屏幕中列出的项目的动作菜单中添加命令。 #3947 以及 #3963

  • 扩展已经获得了根据特定条件在 UI 中贡献菜单项的能力。 #3959

  • 增强了显示或隐藏在 **设置 > 首选项**屏幕中列出的属性的逻辑现在可用。 #4159


其他值得注意的增强功能

  • 将映像加载到 Kind 中的进度现在在任务管理器中显示为一项任务。 #4061

kind-progress-task

  • 现在可以在创建后立即启动一个新的 Podman 机器,或者您可以创建它,然后等待稍后启动。由您决定! #4046

podman-start-now-or-later

  • Podman 机器和 Kubernetes 提供程序创建表单的外观和感觉进行了更新,与用户界面中的其他表单保持一致,还修复了一些小错误。 #4317

Updated provider creation forms

  • 当搜索过滤器导致无匹配结果时显示的空白屏幕消息现在提供针对过滤器匹配的特定消息,包括特定的过滤器术语和用于清除过滤器的显式按钮。以前,屏幕显示有关如何在屏幕上显示的类型上创建新对象的通用消息,这导致了一些关于系统状态的困惑。#3988
  • 现在可以使用新的支持来向图标添加旋转动画。#4188

  • 任务管理器中提供了一种新的不确定进度条类型;这旨在为其 API 不提供详细状态信息的行动提供有限的状态。#4016

  • 为了以管理员身份进行身份验证以执行管理任务,🦭 Podman Desktop 现在为 macOS 提供 Touch ID 支持。#4050

touchID-support

  • 添加了对通过 tty 连接到容器的交互式终端的支持。#3900

  • 现在更清楚地知道哪些容器/Pod 提供者将在🦭 Podman Desktop 启动时自动启动。以前,自动启动具有全局设置和每个提供者设置。通过删除全局设置简化了它。#3840

  • 文档中的“使用容器”部分已重新设计和改进。#3951


值得注意的错误修复

  • 禁用注册表命令没有阻止随后从禁用的注册表中提取。已对此进行修正。#4183

  • 一些位于网络代理后面的用户无法完成涉及下载在线资源的工作流程。已修复用于获取这些资源的机制,以使其与代理兼容,以解决此问题。#3994

  • 现在,🦭 Podman Desktop UI 中准确地反映了 Kubernetes 中正在进行删除过程的 Pod 的状态。#3877

  • 即使映像被使用,映像详细信息页面也总是将映像列为“未使用”。已对此进行修正。#3985

  • 以前,删除特定映像标签会导致具有相同映像 ID 的所有标签被删除。已对此进行修正,因此将仅删除所选映像标签。#3837

  • 由于编码错误,无法查看某些远程 Kubernetes 集群 Pod 的 Pod 详细信息。#4371

  • 错误日志与它们应用的行动分开跟踪。已针对 Kind 集群创建失败#4427和 Compose 安装失败#4407解决了此问题。

  • 对于 Linux 用户,🦭 Podman Desktop 以前在通过 Flatpak 安装时未显示在“开发”菜单下;它显示在“实用程序”下。🦭 Podman Desktop 现在显示在“开发”菜单下。#3911

  • Podman Machine 名称不再以“Podman Machine”字符串为前缀。#3878

touchID-support

  • Pod 和容器的初始行动状态被显示为“启动中”,而不管实际状态如何;已对此进行修正。#3889

  • 调整应用程序窗口大小不再使容器终端的最后几行不可见。#3993

  • 已解决终端在响应附加到容器的终端中的长行时出现的错误行为问题。#3955

  • 已修正运行映像表单上的间距问题。#4089

  • 容器列表中的“容器化”图标和按钮在 1.4 版中异常大。此回归已在此版本中得到修正。#4122

  • 已修正 Windows 用户从 Docker 迁移的说明中的错误。#4157


社区感谢

🎉 我们要感谢所有帮助使 🦭 Podman Desktop 变得更好的所有人。在这个版本中,我们收到了以下人员的拉取请求


最终说明

已知问题

我们有一个讨论区主题,我们发布了有关此版本的已知问题。如果您遇到问题,请在提交错误之前查看此列表 - 如果我们已经为此打开了一个问题,它可以为您节省提交错误的时间和麻烦,并且可能在问题中发布了解决方法。

已知问题:Podman Desktop 1.5.2

已修复的问题

此版本中修复的所有问题列表在此处提供这里

下载位置

从网站的 下载 部分获取最新版本,并通过 Podman Desktop 提升您的开发之旅。此外,请访问 GitHub 存储库,看看您如何帮助我们改进 Podman Desktop。

Podman 桌面 1.4 版本发布

·阅读时长:4 分钟
Jeff Maury
工程经理

Podman Desktop 1.4 版本发布!🎉

这本质上是一个错误修复版本,用于修复 UI 中的各种问题,但与往常一样,我们还添加了一些新功能。

  • **Podman 4.6.2**:Podman Desktop 1.4 附带的 Podman 4.6.2
  • **Windows Arm64**:适用于 Arm64 的原生 Windows 安装程序和二进制文件
  • **端口范围映射**:启动容器并映射端口范围
  • **终端 UX 改进**:在容器中进行 SSH 时,持久化终端会话
  • **卷创建**:从“卷”页面创建卷
  • **Bash 支持**:终端现在使用(如果可用)bash

Podman Desktop 1.4 现已发布。 点击此处下载

Podman-desktop-1-4-juggling


发布详情

端口范围映射#3654

启动新容器时,您现在可以在主机和容器之间映射端口范围。如果主机和容器之间的范围无效,则会引发错误。

Range mapping

终端生命周期#3725

为容器打开终端后,您可以在切换到 Podman Desktop UI 的其他部分后重新使用它。

terminal lifetime

创建卷#3742

“卷”选项卡现在有一个“创建卷”按钮。“创建卷”UI 具有一个用于卷名称的单个字段。

create volume

Bash 支持#3750

为容器打开终端后,如果容器内可用 bash,则将使用它。否则,将使用 sh。

bash sh

值得注意的错误修复

  • 通过 @benoitf 减少列出容器时的 API 调用次数 #3489
  • 通过 @benoitf 删除连接(podman 机器)应重定向到上一页 #3576
  • 通过 @benoitf 增强图像不存在时的错误消息 #3587
  • 当扩展被停用时,释放 kind 安装按钮(#3586) by @lstocchi #3610
  • 通过 @lstocchi 在构建镜像时替换 Windows 上的反斜杠/斜杠 (#3465) #3618
  • 通过 @lstocchi 处理容器命令中的空值 (#3620) #3625
  • 通过 @benoitf 为扩展添加最大激活时间 #3446
  • 通过 @benoitf 处理单个非扩散参数 #3641
  • 通过 @benoitf 仅按需获取卷的使用数据 #3635
  • 通过 @benoitf 为 Windows 添加 arm64 二进制文件 #3643
  • 通过 @benoitf 包含 Windows 和 arm64 的正确隔离文件 #3651
  • 通过 @benoitf 删除 Kubernetes 连接时重定向到上一页 #3650
  • 通过 @lstocchi 在启动容器时支持端口范围 (#3204) #3654
  • 通过 @lstocchi 为消息框结果添加严格的未定义检查 (#3692) #3699
  • 仅当机器正在运行时才重新启动 by @cdrage #3491
  • 通过 @benoitf 重用终端会话 #3725
  • 通过 @lstocchi 禁用下一步按钮并在 onboarding 失败时显示重试 (#3616) #3711
  • 通过 @lstocchi 在更新进程环境 PATH 后将 podman 添加到 PATH (#3729) #3730
  • 通过 @benoitf 允许创建卷 #3742
  • 通过 @axel7083 在终端中使用 bash(如果可用)否则使用 sh #3750
  • 通过 @lstocchi 允许将现有组件嵌入 onboarding (#3755) #3763
  • 某些容器永远不会返回日志,不要等待它们 by @dgolovin #3784
  • 通过 @lstocchi 在 onboarding 的最后一步中删除取消按钮 (#3771) #3802
  • 通过 @cdrage onboarding 添加链接 micromark 以获取命令 #3747
  • 通过 @afbjorklund 使用旧的 podman 时,挂载可能是空值 #3806
  • 通过 @lstocchi 在 onboarding 开始时删除冗余的步骤完成检查 (#3798) #3798
  • 通过 @deboer-tim 能够在拉取镜像名称输入中点击 Enter 键 #3850
  • 通过 @jeffmaury 在启动进程时设置代理环境变量 #3838
  • 通过 @afbjorklund 新的 podman 已经将套接字位置移动了 #3853
  • 通过 @afbjorklund 在激活 lima 扩展时不要记录控制台错误 #3852

社区感谢

🎉 我们要对所有帮助使 Podman Desktop 变得更好的贡献者表示衷心的感谢。

热烈欢迎 @tomgoren@Julian@Gelob@cedricclyburn 在本次发布中首次为项目做出贡献。

最终说明

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

从网站的 下载 部分获取最新版本,并通过 Podman Desktop 提升您的开发之旅。此外,请访问 GitHub 存储库,看看您如何帮助我们改进 Podman Desktop。

Podman 桌面 1.3 版本发布

·阅读时长:6 分钟
Denis Golovin
首席软件工程师

Podman Desktop 1.3 发布!🎉

这基本上是一个错误修复版本,用于修复 UI、扩展引擎和特色扩展中的各种问题,但与往常一样,我们也添加了一些新功能。

  • Podman 4.6.1: Windows 和 Mac 安装程序中包含 Podman 4.6.1
  • Podman 用户模式网络支持 Windows/WSL: 在 Windows 上为 Podman 4.6.0+ 创建 Podman 机器时,提供了一个新的开关“用户模式网络”,用于配置 podman 在某些 VPN 设置和其他专用网络配置中工作
  • Compose 组新的 UI 元素: 现在您可以看到摘要、检查、部署到 Kubernetes、生成 Kube yaml 和查看日志
  • 扩展包和扩展依赖项: 一键安装一组扩展
  • 资源详细信息页面更新: 查看资源的摘要和日志
  • 创建 Kind 集群表单更新: 一个新的“节点容器镜像”字段可用于指定用于控制平面的 Kubernetes 版本
  • 使用后端支持 Docker Desktop 扩展: 加载 Docker Desktop 扩展时,容器将在后端创建,如扩展描述符的 vm 部分所述
  • Podman 初始 onboarding(预览版): 使用包含的安装程序安装和配置 podman

Podman Desktop 1.3 现已发布。点击此处下载!

Podman-desktop-1-3-bug-swatting


发布详情

Compose 组日志选项卡 #3176

单击容器组时,现在可以查看整个 Compose 容器组的日志,无需单独为每个组件打开日志。

Screenshot 2023-07-11 at 12 48 47 PM

Podman 用户模式网络支持 Windows/WSL #3251

某些 VPN 设置或其他专用网络配置会阻止来自虚拟 WSL 网络设备的流量,导致 podman WSL 后端无法联系 VPN 上的系统,并可能导致完全失去互联网访问权限。新的开关允许您创建配置为在上述网络环境中正确工作的 podman VM 机器。

user

Compose 组摘要选项卡 #3317

Compose 组摘要选项卡显示组中的所有容器,并允许您导航到特定容器的详细信息页面。

Compose 组检查选项卡 #3316

Compose 组检查选项卡显示来自 docker/podman 的“container inspect”数组。

Compose 操作中的“部署到 Kubernetes” #3299

Compose 组中添加了一个按钮,用于部署到 Kubernetes。

Compose 操作中的“生成 Kube”和 Compose 详细信息中的“Kube”选项卡 #3253

Compose 操作中添加了“生成 Kube”项,现在 Compose 详细信息视图中提供了“Kube”选项卡。

使用扩展包安装多个扩展 #3150

扩展引擎中引入的扩展包是声明一组扩展以一次性安装它们的一种方式。

从扩展自定义图标 #3131

扩展现在可以使用“when”子句为列表元素自定义图标。

image

资源详细信息页面更新 #1923

如果单击资源名称旁边的箭头图标,将打开一个详细信息页面(类似于在容器列表中单击容器时会打开一个详细信息页面)。

image

在“创建 Kind 集群”表单中添加了“节点容器镜像”字段 #3508

新的“节点容器镜像”字段可用于指定用于控制平面的 Kubernetes 版本。

image

支持使用后端的 Docker Desktop 扩展 #3435

Podman Desktop 现在按照扩展描述符的 vm 部分中所述的方式在后端加载容器,与 Docker Desktop 相同。

Podman 的初始 onboarding 实现(实验性)#3308

这是 onboarding 功能的初始实现。它只涵盖了 Podman 的简单 onboarding。检查系统要求 -> 安装 Podman -> 搞定!

值得注意的错误修复

  • 由 @mairin 更新视频以适应移动设备 #3229
  • 由 @deboer-tim 在设置中保持一致的最大宽度和填充 #3232
  • 由 @deboer-tim 在 #3231 中调整设置导航栏大小
  • 由 @deboer-tim 将新建注册表按钮移动到标题栏 #3245
  • 由 @afbjorklund 使 Lima 徽标更大 #3248
  • 由 @afbjorklund 使 Docker 徽标水平显示 #3236
  • 由 @afbjorklund 尊重 LIMA_HOME 环境变量 #3254
  • 由 @lstocchi 在写入终端之前添加检查 #3263
  • 由 @benoitf 等待远程端完全初始化扩展 #3257
  • 由 @benoitf 修复加载程序未水平居中 #3270
  • 由 @deboer-tim 故障后仍然等待进行故障排除 #3354
  • 由 @cdrage 存储构建错误 #3365
  • 由 @deboer-tim 缺少复选框工具提示 #3380
  • 由 @cdrage 异步加载 Compose 日志,而不是等待 #3377
  • 由 @lstocchi 在启动 rootful 机器时设置 rootful 连接 #3364
  • 由 @deboer-tim 默认显示最后一页 #3388
  • 由 @benoitf 避免仪表板显示正在启动的提供程序,而它们实际上并未启动 #3451
  • 由 @benoitf 在定义之前不使用 extensionInfo #V
  • 由 @cdrage 允许 BASIC 身份验证(全大写) #3471
  • 由 @cdrage 允许单个域注册表,例如 localhost:5000 #3468
  • 由 @cdrage 在二进制安装时创建 /usr/local/bin 目录(如果不存在) #3425
  • 由 @deboer-tim 只删除选定的 Pod #
  • 由 @benoitf 将按钮上的“完成”文本添加回来 #3487
  • 由 @benoitf 在检查 Podman ping 时,不要等待超过 5 秒 #3497
  • 由 @dgolovin 添加使用补丁 get 和请求方法的扩展代理支持 #2825
  • 由 @benoitf 在字段更新时刷新组件 #3525
  • 由 @mairin 为特色扩展列表添加高分辨率图标 #3511
  • 由 @deboer-tim 主导航选择 #3510
  • 由 @jeffmaury 切换上下文时的 Kube 事件错误 #3494
  • 由 @benoitf 在每次拉取镜像时重置错误消息 #3550

社区感谢

🎉 我们要对所有帮助使 Podman Desktop 变得更好的贡献者表示衷心的感谢。

热烈欢迎 @rostalan@axel7083,他们在本次发布中为项目做出了首次贡献。

最终说明

此版本中修复的所有问题的完整列表,请点击 这里 查看。

从网站的 下载 部分获取最新版本,并通过 Podman Desktop 提升您的开发之旅。此外,请访问 GitHub 存储库,看看您如何帮助我们改进 Podman Desktop。

Podman 桌面 1.2 版本发布

·阅读时间:7 分钟
Charlie Drage
软件工程师

Podman Desktop 1.2 版本发布!🎉

我们很高兴地宣布 Podman Desktop 1.2.0 版本发布!此版本包含许多新功能(Kubernetes、Compose 和扩展支持!)、错误修复和改进,以增强您的容器管理体验。以下是此版本中主要更改的摘要

  • 为 Compose 添加了启动/停止/删除/重启按钮:您现在可以对整个 Compose 容器组进行更改
  • 状态栏上的 Kubernetes 上下文:从状态栏轻松选择多个 Kubernetes 上下文
  • 重命名镜像:点击按钮即可重命名镜像
  • 协议处理程序支持:添加了对协议处理程序的支持,例如 open podman-desktop:extension/redhat.openshift-local
  • 故障排除页面:用于帮助诊断与 Podman Desktop 相关的开发问题的故障排除页面

Podman Desktop 1.2 现已推出。点击此处下载

Podman-desktop-1-2-hero


发布详情

为 Compose 添加了启动/停止/删除/重启按钮

在过去的一个月中,我们一直在为更多 Compose 功能添加支持。之前,您只能在 Pod 中控制一组容器。现在,我们添加了控制一组 Compose 容器的功能。您现在可以启动、停止、删除和重启由 docker-composepodman-compose 启动的一组容器。

请继续关注,我们将为 Compose 添加更多功能!如果您有任何反馈或功能请求,请随时在 GitHub 上打开问题或开始讨论。

状态栏上的 Kubernetes 上下文

使用状态栏上的 Kubernetes 上下文,您只需点击几下即可在上下文之间切换。轻松切换到不同的集群。如果有多个上下文可用,您现在可以点击并选择要使用的上下文。

重命名镜像

部署了镜像,但现在您需要重命名它/添加新标签?Podman Desktop 现在允许您编辑镜像。感谢出色的贡献者 @tuckerrc 添加了这个新功能。

故障排除页面

正在为 Podman Desktop 开发扩展?想要查看 Podman Desktop 的日志以及 ping 您的容器连接?我们现在有一个故障排除页面!

点击右下角的灯泡按钮即可访问该页面。

协议处理程序支持

Podman Desktop 现在支持使用终端时的协议处理!想要直接从脚本或终端访问您最喜欢的扩展?如果您在终端中输入 open podman-desktop:extension/redhat.openshift-local,Podman Desktop 将自动加载到正确的扩展。


其他值得注意的功能

  • 背景颜色和 FormPage (PR #2977)
  • 添加添加不安全注册表/跳过证书验证的功能 (PR #2896)
  • 添加对图标贡献的支持 (PR #2984)
  • 添加虚拟机内存限制过低的警告对话框消息 (PR #2822)
  • 为新 Pod 建议索引名称 (PR #3028)
  • 在启用/禁用 macOS 兼容性后添加重启按钮 (PR #2841)
  • 添加与环境相关的辅助常量 (PR #3079)
  • 在启动容器时允许入口点和命令 (PR #3031)
  • 添加在故障排除页面中调试存储的方法 (PR #3121)
  • 添加 custompick 组件 (#2855) (PR #3012)
  • 动态面包屑 (PR #3119)
  • 表单页面上的图标 (PR #3155)
  • 将更多页面切换到 formpage (PR #3162)
  • 添加重命名镜像按钮 (PR #2588)
  • 修复标题,改进滚动条 (PR #2863)
  • 报告 Kube 部署失败的警告,修复错误输出 (PR #3050)
  • 状态栏上的 Kube 上下文 (PR #2755)
  • 在点击创建新按钮时安装提供程序(如果未安装) (#2706) (PR #2817)
  • 为扩展 API 添加标签和经过身份验证的推送功能 (PR #2876)
  • 添加导航栏 e2e 测试 (PR #2950)

文档更新

  • 修复了有关构建扩展镜像的文档 (PR #2873)
  • 添加 Minikube 安装文档 (PR #2824)
  • 添加 Minikube 文档 (PR #2694)
  • 更新了构建镜像步骤 (PR #2964)
  • 启动容器 (PR #2958)
  • 拉取镜像 (PR #2956)
  • 更新了选择在 Pod 中运行的容器 (PR #2970)
  • 将镜像推送到仓库 (PR #2969)
  • 如何添加不安全的仓库 (PR #2953)
  • 添加 Lima 文档 (PR #2995)
  • 替换指向 podman.io 的失效链接 (PR #2994)
  • 向预配置的仓库进行身份验证 (PR #2965)
  • Lima 不是容器引擎 (PR #3051)
  • 使用故障排除页面 (PR #3083)
  • 在状态栏中查看和选择当前的 Kubernetes 上下文 (PR #3090)

值得注意的错误修复

  • 删除正在运行的 Pod 会生成错误 (PR #2827)
  • 如果 kubeconfig 为空,则不尝试执行任何操作,取消 (PR #2874)
  • 异步遥测启动 (PR #2885)
  • 在等待 kube 资源刷新时,不要阻止启动 (PR #2884)
  • 镜像列表太宽 (PR #2918)
  • Compose deactivate 函数从未被调用 (PR #2922)
  • 表单页面自动滚动,布局问题 (PR #2927)
  • 在快速选择中显示当前上下文 (PR #2920)
  • 删除仪表板 UI 中的加载程序的粘性位置 (#2535) (PR #2959)
  • 撤销破坏网站的更改 (PR #2992)
  • 细节页面,调整大小和一致性 (PR #2987)
  • 快速选择点击关闭并覆盖导航栏 (PR #2758)
  • 仅当没有 Pod 时显示空屏幕 (PR #2929)
  • 在容器列表中删除 Pod 时不要重定向到 /pods (PR #2963)
  • Pod 的批量删除应调用 Pod 删除 (PR #2979)
  • 在 .nvmrc 中将 nodejs 版本更新为 18 以修复 yarn 安装失败 (PR #2989)
  • 网站检查目标 (PR #2996)
  • 不要向用户显示异常 (PR #3034)
  • 解释传递给 info 命令的参数,以供示例使用 (PR #3015)
  • 更改 Podman 机器的默认值 (PR #3061)
  • 规范化开发/生产文件夹路径 (PR #3113)
  • 为 Linux 计算机器套接字路径 (PR #3070)
  • 将反斜杠替换为斜杠,以支持在 Windows 上呈现 (#3120) (PR #3122)
  • 将 stdout 和 stderr 保留在 Docker Desktop 扩展的错误对象中 (PR #3014)
  • 如果出现故障,则将任务标记为已完成 (PR #3016)
  • 处理无效的 kubeconfig 文件 (PR #3129)
  • 在 podman 扩展停止时不要删除仓库 (PR #3136)
  • 警告应为琥珀色 (PR #3153)
  • 从插件加载用户扩展作为可移动 (PR #3152)
  • 入口点或命令中包含空格的镜像无法启动 (PR #3161)
  • 单击复选框时滚动到屏幕外 (PR #3178)
  • 避免消息框扩展到屏幕外 (PR #2778)
  • Release-notes-generator 运行失败 (PR #2752)
  • 如果上一次构建失败,则无法进行新的构建 (PR #2721)

社区感谢

🎉 我们要对所有帮助使 Podman Desktop 变得更好的贡献者表示衷心的感谢。

衷心感谢 @afbjorklund@tuckerrc@evanshortiss 为此版本做出的贡献!


最终说明

此版本修复的所有问题的完整列表可 此处此处 获取。

从网站的 下载 部分获取最新版本,并通过 Podman Desktop 提升您的开发之旅。此外,请访问 GitHub 存储库,看看您如何帮助我们改进 Podman Desktop。

Podman 桌面 1.1 版本发布

·阅读时长:3 分钟
Tim deBoer
架构师

Podman Desktop 1.1 版本发布!🎉

此版本主要是一个错误修复版本,用于修复一些重要的问题,但我们在此过程中也设法加入了一些增强功能。

  • **Podman 4.5.1**:Podman 4.5.1 现在包含在 Windows 和 Mac 安装程序中。
  • **扩展**:在 Podman Desktop 内更新扩展。
  • **Lima 支持**:从设置中选择引擎类型并覆盖其名称。
  • **用户体验和 UI 改进**:新的加载屏幕。

Podman Desktop 1.1 现已发布。点击此处下载!

Podman-desktop-1-1-hero

Podman 桌面 1.0 版本发布

·阅读时长:5 分钟
Tim deBoer
架构师

Podman Desktop 1.0 版本发布!🎉

我们还有很多计划要做的事情,但经过了一些改进和一些错误修复,我们认为我们已经达到了成熟的水平,现在是宣布 1.0 版本发布的时候了。

感谢所有一路陪伴我们的朋友!请继续提供反馈!

  • **突出显示特色扩展**:轻松查找和安装新的扩展。
  • **特色扩展**:两个支持 OpenShift 的新扩展。
  • **Podman Machine 作为 root 运行**:能够以 root 身份运行 Podman Machine。
  • **用户体验和 UI 改进**:打开外部网站、编辑数字和工具提示。

Podman Desktop 1.0 现已发布。点击此处下载!

Podman-desktop-1-0-hero

发行说明 - Podman 桌面 0.15

·阅读时长:4 分钟
Tim deBoer
架构师

Podman Desktop 0.15 - 干净整洁,Podman 始终如一!

距离上一次发布仅仅两周,但我们确实希望完成一些场景,修复一些错误,并展示我们一直在开发的一些设计更新和 UI 改进。

  • **Podman 版本**:Podman 4.5 现在包含在 Windows 和 Mac 安装程序中。
  • **Kind Ingress**:创建 Ingress 以在 Kind 集群外部公开服务。
  • **Podliness**:能够在对容器进行 podify 时选择外部端口。
  • **干净整洁**:新的导航栏、对话框和调色板更新。
  • **用户体验和 UI 改进**:扩展的 Markdown 支持。

Podman Desktop 0.15 现已发布。点击此处下载!

Podman-desktop-0-15-hero

使用 Podman 桌面在本地设置和运行 Kubernetes 集群

·阅读时长:9 分钟

在本博文中,您将学习使用 Podman Desktop 运行 Kubernetes 文档示例:使用 Redis 部署 PHP Guestbook 应用程序

议程

  1. 安装 Podman Desktop。
  2. 安装和初始化您的容器引擎:Podman。
  3. 安装和启动您的本地 Kubernetes 提供者:Kind。
  4. 启动 Redis 主节点。
  5. 启动和扩展 Redis 从节点。
  6. 启动和公开 Guestbook 前端。

发行说明 - Podman 桌面 0.14

·阅读时长:5 分钟
Tim deBoer
架构师

Podman Desktop 0.14 - 我们最棒的版本!

我们一直在开发 Kind 扩展,并决定在 KubeCon 和 CloudNativeCon 欧洲会议召开之际将其发布!

我们对发布 Kind 特别兴奋,因为它终于展现了 Podman Desktop 的全部用途:不仅限于本地容器引擎,还包括 Kubernetes。更重要的是,它提供了可以管理这两个环境并无缝地在它们之间切换的工具。

一些这些功能在过去几个版本中已在开发模式下可用,但现在它们已包含在发布版本中,我们将进行全面概述并讨论所有 Kind 功能。

  • **Kind 安装**:从状态栏安装 Kind
  • 管理 Kind 集群:从 设置 > 资源
  • 使用 Kind:将 YAML 部署到集群并共享镜像
  • Kind Ingress:安装 Contour Ingress 控制器
  • UX 和 UI 改进:更新了首选项和遥测提示

Podman Desktop 0.14 现已发布。 点击此处下载

Podman-desktop-0-14-hero

发行说明 - Podman 桌面 0.13

·阅读时长:4 分钟
Tim deBoer
架构师

此发布说明涵盖了 Podman Desktop 0.13 版本的更改。

  • Podman 版本:Windows 和 Mac 安装程序中现在包含 Podman 4.4.4。
  • Compose:支持安装 Docker Compose。
  • 扩展:为 Podman Desktop 改进了扩展支持,并增加了额外的功能。
  • UX 和 UI 改进:欢迎页面、任务管理器、资源和更新提醒。

Podman Desktop 0.13 现已发布。 点击此处下载

Podman-desktop-0-13-hero

Docker 用户需要了解的关于 Podman 桌面的 5 件事

·阅读时长:5 分钟
Florent Benoit
首席软件工程师

作为 Docker 用户,使用 Podman Desktop 需要了解的 5 件事

  • 使用单一 UI:Podman Desktop 支持多个容器引擎,包括 Docker。
  • 兼容模式:如何确保工具与 Podman 而不是 Docker 一起使用。
  • Compose 支持:如何使用 Compose 文件和 Podman。
  • Kubernetes 支持:如何使用 Kubernetes 和 Podman。
  • 安全性:使用 rootless 模式或无 root 权限的容器。

5-things-to-know-for-a-docker-user-hero

发行说明 - Podman 桌面 0.12

·阅读时长:5 分钟
Stevan Le Meur
产品经理

此发布说明涵盖了 Podman Desktop 0.12 版本的更改。

  • Podman 版本:Windows 和 Mac 安装程序中现在包含 Podman 4.4.1。
  • 容器配置:为未导出端口的镜像配置端口映射。
  • Windows 家庭版支持:Podman Desktop 现在支持 Windows 家庭版。
  • 最小化启动:选择最小化启动 Podman Desktop 到系统托盘。
  • UX 和 UI 改进:一致的操作、日志占位符、统一的图标等。

Podman Desktop 0.12 现已发布。 点击此处下载

podman-desktop-0-12-hero

发行说明 - Podman 桌面 0.11

·阅读时长:10 分钟
Stevan Le Meur
产品经理

此发布说明涵盖了 Podman Desktop 0.11 版本的更改。

  • 隔离安装:适用于隔离安装的新型一体化二进制文件。
  • 反馈:直接从 Podman Desktop 提交反馈。
  • Docker 兼容模式:有关 Docker 兼容模式的信息。
  • 代理设置:切换代理设置的开/关。
  • 部署到 Kubernetes:选择要部署到 Kubernetes 的命名空间。
  • 注册表配置:简化了对知名注册表的注册表配置。
  • UX/UI 改进:查看 Pod 的容器日志、更好的视觉反馈、可配置的编辑器字体大小等。

Podman Desktop 0.11 现已发布。 点击此处下载

发行说明 - Podman 桌面 0.10

·阅读时长:5 分钟
Dev Kumar
技术 PMM 实习生

此发布说明涵盖了 Podman Desktop 0.10 版本的更改。

  • 容器配置:容器创建向导,允许定义环境变量、网络和更多配置选项。
  • Kubernetes 改进:播放 Kubernetes YAML、自定义 Kubeconfig 路径支持、重新加载 Kube 上下文。
  • 注册表配置:改进的注册表配置 UI。
  • Podman 版本:Windows 和 Mac 安装程序中现在包含 Podman 4.3.1。
  • UX/UI 改进:改进的列表、更好的对比度等。

Podman Desktop 0.10 现已发布。 点击此处下载

在 DevContainer 中构建和运行 Podman 桌面

·阅读时长:8 分钟
Florent Benoit
首席软件工程师

GitHub 上周宣布,Codespaces 现已面向所有人开放,并且包含免费分钟数。

让我们看看如何使用 开发容器,它包含构建和运行 Podman Desktop 的所有工具。开发容器在本地使用 Visual Studio Code,但在本博文中,我们将看到它如何通过 GitHub 上的简单点击直接运行。

挑战在于运行桌面工具(Podman Desktop)和在开发容器内运行容器引擎(Podman),同时不使用太多内存!