跳至主要内容

使用“podman-desktop”标签的 32 篇文章

查看所有标签

使用 Podman Desktop 创建 MicroShift 可启动镜像

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

banner

如果您不熟悉 BootC,它提供了一种从单个 Containerfile 或预先存在的 BootC 支持的镜像直接将应用程序部署到裸机上的出色方法。

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

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

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

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

要求

在开始本教程之前,请确保您拥有

构建 BootC 容器镜像

首先,我们将从 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 Desktop 构建该文件

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

使用 Podman Desktop 构建

选择 Containerfile 并在 Podman Desktop 中构建它。

您需要提供

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

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

build

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

安装

从扩展目录安装 BootC Podman Desktop 扩展

install

构建镜像

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

点击导航栏上的新 BootC 图标,然后进入构建页面

build_button

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

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

测试镜像

探索使用本地软件或云平台测试镜像的各种方法。以下是使用 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 Desktop 验证 MicroShift

或者,您可以将 MicroShift 配置文件复制到本地机器并在 Podman Desktop 上远程测试它。

  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 Desktop 验证 MicroShift 集群

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

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

cluster

存储配置

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

结论

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

感谢您的关注,祝您部署愉快!

Podman Desktop 1.14 版本发布

·阅读时间:10 分钟
Evžen Gasta
助理软件工程师

Podman Desktop 1.14 发布!🎉

podman-desktop-hero-1.14

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

此版本包括

  • Kubernetes 改进,并提供新的仪表盘:添加了 Kubernetes 的新登录屏幕,并进行了 UI 更改,以提供整个集群的概览。
  • Pod 的端口转发:此新功能允许用户在 Kubernetes 环境中配置端口转发。

Podman Desktop 扩展介绍

·阅读时间: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 语句控制何时显示命令。

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

menus

添加和配置命令

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

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

您还可以配置这些命令以显示在不同的上下文中。查看 **When 语句上下文** 文档,了解有关将命令限制在特定场景的更多信息。

命令在很大程度上受到VS Code 命令的影响,并且可以类似地进行配置。有关更多信息,请参阅我们的命令指南

设置入职工作流程

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

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

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

compose

配置设置

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

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

发布您的扩展

发布使用户能够安装您的扩展,您可以将扩展编译成容器镜像供用户轻松使用。请遵循 **发布** 指南了解如何分发您的扩展。

结论

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

它也很容易打包并发布您的扩展供其他人使用。

享受探索有关如何创建扩展的文档,祝您编码愉快!

Podman Desktop 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 Desktop 构建您的 Kubernetes 应用程序

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

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

本博文涵盖以下方面

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

构建容器化应用程序

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

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

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

  1. 转到 **镜像** 组件页面。

  2. 单击 **拉取**。 pull from registry

  3. 启动第一个容器

    1. 输入要从注册表中提取的镜像名称。例如,quay.io/podman-desktop-demo/podify-demo-backendenter image name
    2. 单击 **拉取镜像**。下载完成通知将打开。
    3. 单击 **完成**。
    4. 单击与新添加的镜像相对应的 **运行镜像** 图标。 running an image
    5. 输入容器名称 redis-server
    6. 单击 **启动容器**。 start a back-end container
    7. 单击 **日志** 选项卡以查看 Redis 服务器是否以独立模式运行。 view Logs tab
  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. 在 Pods 页面上查看新创建的 Pod。
  6. 点击 Pod 的名称,然后点击 **摘要** 选项卡以查看其摘要。 查看 Pod 详细信息

另一种方法:使用 Kubernetes YAML 创建 Pod

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

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

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

  1. 进入 **Pods** 页面。
  2. 点击与 Pod 对应的溢出菜单图标。 溢出菜单图标
  3. 从下拉列表中选择 **生成 Kube** 选项。
  4. 在 **Kube** 选项卡中查看 Kubernetes YAML 配置。 kube 清单
  5. 复制配置并将其粘贴到您机器上的 YAML 文件中。
  6. 编辑 YAML 配置并保存。
  7. 进入 **Pods** 组件页面。
  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. 进入 **Pods** 组件页面。

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

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

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

    注意

    在运行映像时配置自定义端口映射时,您将获得从下拉列表中选择 Ingress 主机端口的选项。 ingress-host-port 否则,您将看不到该选项。

  6. 点击 **部署**,然后点击 **完成**。

验证正在运行的服务

  1. 进入 **Kubernetes** 组件页面。

  2. 执行以下步骤

    1. 点击 **服务** 选项以查看新创建的服务 my-pod-5000创建的服务
    2. 点击 **Ingress 和路由** 选项以查看新创建的 Ingress my-pod创建的 Ingress
    注意

    使用 **应用 YAML** 按钮直接应用 Kubernetes YAML 文件以创建资源。

Podman Desktop 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 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机器页面上,单击镜像路径字段的浏览按钮,并选择从Image Builder下载的文件。

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 Desktop 1.11 版本发布

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

Podman Desktop 1.11发布!🎉

Podman-desktop-1-11-hero

此版本引入了

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

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

Podman Desktop 1.10 版本发布

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

Podman Desktop 1.10发布!🎉

Podman-desktop-1-10-hero

此版本引入了

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

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

Podman Desktop 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.4Podman 4.9.4现在包含在Windows和macOS安装程序中。
  • 备份/还原镜像:将镜像或容器保存到tar存档并还原它们。
  • Kubernetes Pod终端:连接到Kubernetes Pod内的终端。
  • 扩展API改进:对🦭 Podman Desktop扩展使用的扩展API进行了额外更新。

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

Podman Desktop 1.8 版本发布

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

Podman Desktop 1.8发布!🎉

Podman-desktop-1-8-hero

我们发布了新版本,它充满了海豹般的魅力!此版本引入了

  • Podman 4.9.3Podman 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
  • 用于更新任务名称的消息属性 #5731
  • 导航项目 UI 修复 #5886
  • 显示注册表的图标 #5843
  • 检查路由 tls 以使用 http 或 https #5825
  • 白色工具提示 #5887
  • 限制注册表用户名列宽 #5718
  • 删除 Linux 上的 Docker 兼容性警告和按钮 #5903
  • 容器使用的镜像 #5663
  • 删除上下文时应更改/更新当前上下文 #5819
  • 不要折叠侧边栏上的类别 #5727
  • 使 localhost 成为 env.openExternal 调用的有效域 #5716

文档

随着 🦭 Podman Desktop 的新版本的发布,文档也做出了以下改进

  • containerEngine api 的容器和镜像相关方法 #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 变得更好的用户。在此版本中,我们收到了以下人员提交的请求


最终说明

修复的错误

在本版本中修复的所有错误的完整列表可在此处获取:here

从哪里下载

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

Podman Desktop 荣获 2024 DEVIES 奖

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

我们很荣幸地宣布,Podman Desktop 已获得著名的 2024 DEVIES 奖,类别为 容器和 Kubernetes。该奖项证明了 Podman Desktop 团队和更广泛的开源社区在帮助开发者的努力卓有成效。Podman Desktop 提高了开发人员的容器工作流程效率,并提供了 从容器到 Kubernetes 的轻松应用程序过渡,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 二进制文件并使用开放容器计划 (OCI) 容器映像分发它们 – 可以在多个体系结构上部署的单个映像。

虽然这个概念看起来很简单,但实际操作起来却相当具有挑战性,特别是在 macOS 和 Windows 上。复杂之处在于运行 Linux 的附加虚拟机。这台机器需要正确设置所有依赖项和先决条件。

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

hero

Podman Desktop 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 - Update to new QEMU(基于 #1990 - QEMU issue on M3)。如果您遇到此问题,可以使用以下方法解决:herethere

扩展API改进

在本版本中,我们花费了大量时间添加新的扩展 API,以便即将推出的扩展能够拥有更多功能,并更好地集成到 🦭 Podman Desktop 中。我们添加了对完整页面 Web 视图、图像徽章、图标、导航 API 以及对容器引擎中更多功能的 API 访问的支持。

  • UI 中的 Web 视图 #5594
  • 为扩展添加 Web 视图 API #5592
  • 允许扩展列出 Web 视图 #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 问题,让我们知道你想要看到什么其他内容。

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

构建图像时,你现在可以选择要为其构建图像的平台。

Build platform

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

Pods table

遇到麻烦,想要重新开始?故障排除页面已切换到选项卡,并且有一个选项可以清除现有安装。

Troubleshooting Purge


其他值得注意的增强功能

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

  • 按下 esc 退出 onboarding #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
  • 记录 onboarding ID 规则 #5211
  • 多平台扩展 #5205
  • 关于 Compose 客人簿应用程序的博客文章 #5033
  • 重构了 设置容器仓库 #4965

社区感谢

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


最终说明

修复的错误

在本版本中修复的所有问题的完整列表可在 这里 查看。

从哪里下载

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

Podman Desktop 上的 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,让我们通过 onboarding 流程来安装 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

它是如何工作的?

快速概述这种多容器场景中架构的工作原理。

  • 在访客簿应用程序中,它会查找名称为 `redis-leader` 和 `redis-replica` 的数据库,端口为 6379。
  • 因为它是 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 Desktop 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 上下文,设置默认上下文并删除未使用的上下文。
  • **可编辑的 Podman Machine for MacOS**:轻松调整 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 二进制文件。
  • 用于与 Kubernetes 集群交互的 kubectl。

cli-tools

从设置中,您可以看到已安装的命令行工具,并且您可以看到版本 - 当有新版本可用时,您会收到一个小通知,让您轻松更新到该版本。

Compose-Update

Kubernetes 上下文管理器

我们正在引入一个新的屏幕,可从“设置”中访问,它允许您轻松管理 Kubernetes 上下文。Podman Desktop 已经提供了从状态栏访问的便捷上下文切换器,但是当您开始使用多个 Kubernetes 环境时,最终会有一个又长又长的 Kubernetes 上下文列表是很常见的。

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

Kubernetes Contexts List

可编辑的 Podman Machine

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 进行了许多改进,包括

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

其他值得注意的增强功能

  • 显示容器连接类型和端点 #5098
  • 在 Pod/容器上添加环境列 #4583
  • 在扩展列表中显示扩展图标 #5101
  • 引入了 UI 图标图像组件 #5117
  • 在 extensionInfo 中添加图标 #5089
  • 在 RunOptions 上添加编码选项 #4942
  • 引入了外观属性,但目前仅支持深色模式 #4887
  • 默认表格排序 #4860
  • 在任务管理器中显示 onboarding 完成的通知 #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 onboarding 的成功/完成状态 #4947
  • 修复:从 markdown 按钮渲染中删除 flex 类 #4934
  • 修复:在 Windows 上使用中文作为系统语言时,无法读取 wsl 版本 #4918
  • 修复:保留自动启动设置 #4879
  • 修复:使用 vi.waitUtnil 而不是带有等待 promise 的循环 #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
  • 修复: 检查自签名证书消息,并在编辑注册表密码时使用不安全参数 #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 Desktop 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

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

  • 镜像详细信息页面始终将镜像列为“未使用”,即使它已使用。这已得到纠正。 #3985

  • 以前,删除特定镜像标签会导致具有相同镜像 ID 的所有标签被删除。这已得到修复,因此只有选定的镜像标签会被删除。 #3837

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

  • 错误日志正在与它们应用于的动作分开跟踪。这已针对 Kind 集群创建失败 #4427 和 Compose 安装失败 #4407 得到解决。

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

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

touchID-support

  • Pod 和容器的初始动作状态无论实际状态如何,都显示为“正在启动”;这已得到纠正。 #3889

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

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

  • 运行镜像表单上的间距问题已得到纠正。 #4089

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

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


社区感谢

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


最终说明

已知问题

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

已知问题:Podman 桌面 1.5.2

修复的错误

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

从哪里下载

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

Podman Desktop 1.4 版本发布

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

Podman 桌面 1.4 发布!🎉

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

  • **Podman 4.6.2**:Podman 桌面 1.4 包含 Podman 4.6.2
  • **Windows Arm64**:Windows on Arm64 的原生安装程序和二进制文件
  • **端口范围映射**:启动容器并映射一组端口
  • **终端 UX 改进**:在容器中通过 SSH 连接时持久化终端会话
  • **卷创建**:从“卷”页面创建卷
  • **Bash 支持**:如果可用,终端现在将使用 `bash`。

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

Podman-desktop-1-4-juggling


发行说明

端口范围映射 #3654

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

Range mapping

终端生命周期 #3725

为容器打开终端后,您可以在切换到 Podman 桌面 UI 的另一个部分后重新使用它。

terminal lifetime

创建卷 #3742

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

create volume

Bash 支持 #3750

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

bash sh

值得注意的错误修复

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

社区感谢

🎉 我们要向所有帮助使 Podman 桌面变得更好的所有人表示衷心的感谢。

热烈欢迎 @tomgoren@Julian@Gelob@cedricclyburn,他们在本版本中首次为该项目做出了贡献。

最终说明

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

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

Podman Desktop 1.3 版本发布

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

Podman 桌面 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 桌面扩展**:加载 Docker 桌面扩展时,容器将在后端创建,如扩展描述符的 vm 部分所述
  • **Podman 初始引导(预览)**:使用包含的安装程序安装和配置 podman

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

Podman-desktop-1-3-bug-swatting


发行说明

撰写群组日志选项卡 #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 的“容器检查”数组。

部署到 Kubernetes 在 Compose 操作中 #3299

一个部署到 Kubernetes 的按钮添加到 Compose 组中。

生成 Kube 在 Compose 操作中以及 Compose 详细信息中的 Kube 选项卡 #3253

生成 Kube 项目已添加到 Compose 操作中,"Kube" 选项卡现在可以在 Compose 详细信息视图中使用。

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

扩展引擎中引入的扩展包是一种声明要安装的一组扩展的方式,以便一次安装所有扩展。

从扩展中自定义图标 #3131

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

image

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

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

image

节点的容器镜像 字段添加到 创建 Kind 集群 表单中 #3508

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

image

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

Podman Desktop 现在像 Docker Desktop 一样,按照扩展描述符的 vm 部分中的描述,在后端加载容器。

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

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

值得注意的错误修复

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

社区感谢

🎉 我们要向所有帮助使 Podman 桌面变得更好的所有人表示衷心的感谢。

热烈欢迎 @rostalan@axel7083 在本版本中首次为项目做出贡献。

最终说明

在本版本中修复的完整问题列表,请 点击此处 查看。

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

Podman Desktop 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)
  • 将更多页面切换到表单页面 (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)
  • Detailspage,调整大小和一致性 (PR #2987)
  • 快速选择点击关闭和覆盖导航栏 (PR #2758
  • 仅在没有 Pod 时显示空屏幕 (PR #2929
  • 在容器列表中删除 Pod 时不要重定向到 /pods (PR #2963
  • Pod 的批量删除应调用 Pod 删除操作 (PR #2979)
  • 将 .nvmrc 中的 nodejs 版本更新到 18 以修复 yarn install 失败 (PR #2989)
  • 网站检查目标 (PR #2996)
  • 不要向用户显示异常 (PR #3034)
  • 解释给 info 命令提供的参数以供示例 (PR #3015)
  • 更改 Podman machine 的默认值 (PR #3061)
  • 规范化开发/生产文件夹路径 (PR #3113)
  • 为 Linux 计算机器套接字路径 (PR #3070)
  • 用斜杠替换反斜杠,以便支持在 Windows 上渲染 (#3120) (PR #3122)
  • 在 Docker Desktop 扩展的错误对象中保留 stdout 和 stderr (PR #3014)
  • 如果出现故障,则将任务标记为已完成 (PR #3016)
  • 处理无效的 kubeconfig 文件 (PR #3129)
  • Podman 扩展停止时不要删除注册表 (PR #3136)
  • 警告应为琥珀色(PR #3153
  • 从插件加载用户扩展作为可移动的(PR #3152
  • 入口点或命令中有空格的镜像无法启动(PR #3161
  • 点击复选框时滚动到屏幕外(PR #3178
  • 避免消息框扩展到屏幕外(PR #2778
  • 发布说明生成器运行失败(PR #2752
  • 如果上一个构建失败,则无法进行新构建(PR #2721

社区感谢

🎉 我们要向所有帮助使 Podman 桌面变得更好的所有人表示衷心的感谢。

向为此次发布做出贡献的 @afbjorklund@tuckerrc@evanshortiss 表示衷心的感谢!


最终说明

本版本中修复的所有问题的完整列表可在 这里这里 查看。

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

Podman Desktop 1.1 版本发布

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

Podman Desktop 1.1 发布!🎉

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

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

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

Podman-desktop-1-1-hero

Podman Desktop 1.0 版本发布

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

Podman Desktop 1.0 发布!🎉

我们还有许多计划要执行,但经过一些抛光和一些 bug 修复,我们感觉我们已经达到了成熟的水平,现在是时候宣布我们的 1.0 版本了。

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

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

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

Podman-desktop-1-0-hero

发行说明 - Podman Desktop 0.15

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

Podman Desktop 0.15 - 干净整洁才是 Podliness!

距离我们上次发布仅仅两周,但我们真的很想完成一些场景,修复一些 bug,并展示我们一直在进行的一些设计更新和 UI 改进。

  • Podman 版本:Windows 和 Mac 安装程序中现已包含 Podman 4.5。
  • Kind Ingress:创建 Ingress 以将服务暴露在 Kind 集群之外。
  • Podliness:能够在 podifying 容器时选择外部端口。
  • Cleanliness:新的导航栏、对话框和调色板更新。
  • 用户体验和界面改进:扩展的 Markdown 支持。

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

Podman-desktop-0-15-hero

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

·阅读时间:9 分钟

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

议程

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

发行说明 - Podman Desktop 0.14

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

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

我们一直在开发 Kind 扩展,并决定是时候在 KubeCon 和 CloudNativeCon Europe 之前发布它了!

我们对发布 Kind 感到特别兴奋,因为它最终展示了 Podman Desktop 的全部目的:不仅仅是本地容器引擎,还有 Kubernetes。更重要的是,提供允许您管理这两种环境并无缝地在它们之间切换的工具。

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

  • Kind 安装:从状态栏安装 Kind
  • 管理 Kind 集群:从 设置 > 资源
  • 使用 Kind:将 YAML 部署到集群并与集群共享镜像
  • Kind Ingress:安装 Contour Ingress 控制器
  • 用户体验和界面改进:更新的偏好设置和遥测提示

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

Podman-desktop-0-14-hero

发行说明 - Podman Desktop 0.13

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

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

  • Podman 版本:Windows 和 Mac 安装程序中现已包含 Podman 4.4.4。
  • Compose:支持安装 Docker Compose。
  • 扩展:改进 Podman Desktop 的扩展支持,具有更多功能。
  • 用户体验和界面改进:欢迎页面、任务管理器、资源和更新提醒。

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

Podman-desktop-0-13-hero

Docker 用户需要了解的关于 Podman Desktop 的 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 Desktop 0.12

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

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

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

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

podman-desktop-0-12-hero

发行说明 - Podman Desktop 0.11

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

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

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

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

发行说明 - Podman Desktop 0.10

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

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

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

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

在 DevContainer 中构建和运行 Podman Desktop

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

GitHub 上周宣布,Codespaces 可供所有人使用,并且包括免费分钟数。

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

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