使用 Podman Desktop 在 Fedora Linux 上管理容器
创始人
2024-03-02 12:40:16
0

Podman Desktop 是一个开源 GUI 应用,用于在 Linux、macOS 和 Windows 上管理容器。

从历史上看,开发人员一直使用 Docker Desktop 对容器进行图形化管理。这适用于那些安装了 Docker Daemon 和 Docker CLI 的人。然而,对于那些使用无守护进程的 Podman 工具的人来说,虽然有一些 Podman 前端,如 PodsPodman desktop companionCockpit,但没有官方应用。现在不是这种情况了。有了 Podman Desktop!

本文将讨论由红帽和其他开源贡献者开发的 Podman Desktop 的特性、安装和使用。

安装

要在 Fedora Linux 上安装 Podman Desktop,请访问 podman-desktop.io,然后单击 “Download for Linux” 按钮。你将看到两个选项:Flatpak 和 zip。在这个例子中,我们使用的是 Flatpak。单击 “Flatpak” 链接后,通过双击文件在 GNOME 软件中打开它(如果你使用的是 GNOME)。你也可以通过终端安装它:

flatpak install podman-desktop-X.X.X.flatpak

在上面的命令中,将 X.X.X 替换为你下载的特定版本。如果你下载了 zip 文件,那么解压缩存档,然后启动 Podman Desktop 应用的二进制文件。你还可以通过进入 GitHub 上项目的 发布 页找到预发布版本。

特性

Podman Desktop 仍处于早期阶段。然而,它支持许多常见的容器操作,如创建容器镜像、运行容器等。此外,你可以在 “ 首选项 Preferences ” 的 “ 扩展 Extensions ” 部分下找到 Podman 扩展,你可以使用它来管理 macOS 和 Windows 上的 Podman 虚拟机。

此外,Podman Desktop 支持 Docker Desktop 扩展。你可以在 “ 首选项 Preferences ” 下的 “Docker Desktop Extensions” 安装此类扩展。应用窗口有两个窗格。左侧窄窗格显示应用的不同功能,右侧窗格是内容区域,它将根据左侧选择的内容显示相关信息。

Podman Desktop 0.0.6 在 Fedora 36 上运行

演示

为了全面了解 Podman Desktop 的功能,我们将从 Dockerfile 创建一个镜像并将其推送到注册中心,然后拉取并运行它,这一切都在 Podman Desktop 中完成。

构建镜像

第一步是通过在命令行中输入以下行来创建一个简单的 Dockerfile:

cat <>Dockerfile
FROM docker.io/library/httpd:2.4
COPY . /var/www/html 
WORKDIR /var/www/html 

CMD ["httpd", "-D", "FOREGROUND"]
EOF

现在,点击 “ 镜像 Images ” 并按下 “ 构建镜像 Build Image ” 按钮。你将被带到一个新页面以指定 Dockerfile、构建上下文和镜像名称。在 Containerfile 路径下,单击并浏览以选择你的 Dockerfile。在镜像名称下,输入镜像的名称。如果要将镜像推送到容器注册中心,那么可以以 example.com/username/repo:tag 形式指定完全限定的镜像名称(FQIN)。在此示例中,我输入 quay.io/codezombie/demo-httpd:latest,因为我在 quay.io 上有一个名为 demo-httpd 的公共仓库。你可以按照类似的格式来指定容器注册中心(Quay、Docker Hub、GitHub Container Registry 等)的 FQIN。现在,按下 “ 构建 Build ” 按钮并等待构建完成。

推送镜像

构建完成后,就该推送镜像了。所以,我们需要在 Podman Desktop 中配置一个注册中心。进入 “ 首选项 Preferences ” -> “ 注册中心 Registries ” 并按下 “ 添加注册中心 Add registry ” 按钮。

添加注册中心对话框

在 “ 添加注册中心 Add registry ” 对话框中,输入你的注册中心服务器地址和用户凭据,然后单击 “ 添加注册中心 Add registry ”。

现在,回到镜像列表中我的镜像,并按下上传图标将其推送到仓库。当你将鼠标悬停在设置中添加的注册中心名称开头的镜像名称上时(此演示中的 quay.io),镜像名称旁边会出现一个推送按钮。

将鼠标悬停在镜像名称上时出现的按钮

镜像通过 Podman Desktop 推送到仓库

镜像被推送后,任何有权访问镜像仓库的人都可以拉取它。由于我的镜像仓库是公开的,因此你可以轻松地将其拉入 Podman Desktop。

拉取镜像

因此,为确保一切正常,请在本地删除此镜像并将其拉入 Podman Desktop。在列表中找到镜像并按删除图标将其删除。删除镜像后,单击 “ 拉取镜像 Pull Image ” 按钮。在 “ 要拉取的镜像 Image to Pull ” 输入完全限定名称,然后按 “ 拉取镜像 Pull Image ”。

Our container image is successfully pulled

创建一个容器

作为 Podman Desktop 演示的最后一部分,让我们从镜像中启动一个容器并检查结果。转到 “ 容器 Containers ” 并按 “ 创建容器 Create Container ”。这将打开一个包含两个选项的对话框:“ 从 Containerfile/Dockerfile From Containerfile/Dockerfile ” 和 “ 从已有镜像 From existing image ”。按下 “ 从已有镜像 From existing image ”。这将进入镜像列表。在那里,选择我们要拉取的镜像。

在 Podman Desktop 中创建容器

现在,我们从列表中选择我们最近拉取的镜像,然后按它前面的 “ 运行 Play ” 按钮。在出现的对话框中,我输入 demo-web 作为容器名,输入 8000 作为端口映射,然后按下 “ 启动容器 Start Container ”。

Container configuration

容器开始运行,我们可以通过运行以下命令检查 Apache 服务器的默认页面:

curl http://localhost:8000

可以工作!

你还应该能够在容器列表中看到正在运行的容器,其状态已更改为 “ 运行中 Running ”。在那里,你会在容器前面找到可用的操作。例如,你可以单击终端图标打开 TTY 进入到容器中!

接下来是什么

Podman Desktop 还很年轻,处于 积极开发 中。 GitHub 上有一个项目 路线图,其中列出了令人兴奋的按需功能,包括:

  • Kubernetes 集成
  • 支持 Pod
  • 任务管理器
  • 卷支持
  • 支持 Docker Compose
  • Kind 支持

via: https://fedoramagazine.org/manage-containers-on-fedora-linux-with-podman-desktop/

作者:Mehdi Haghgoo 选题:lkxed 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

勤领汽车电子申请车辆Lin...
金融界2025年8月5日消息,国家知识产权局信息显示,东莞市勤领汽...
2025-09-04 16:43:36
泰禾智能:参股公司科亿智能...
金融界7月15日消息,有投资者在互动平台向泰禾智能提问:董秘您好,...
2025-07-15 17:14:13
在CentOS系统中为Do...
理解Docker存储的核心机制:驱动与分层管理 在CentOS系统...
2025-06-16 07:41:58
我的docker随笔39:...
本文介绍在容器中修改时间而不影响宿主机的系统时间。 问题提出 某容...
2025-06-01 18:45:21
容器安全配置
本博客地址:https://security.blo...
2025-06-01 06:33:19
HTML - 容器布局,使...
HTML - 容器布局,使容器充满屏幕高度ÿ...
2025-06-01 02:27:27

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
从 Yum 更新中排除特定/某... 作为系统更新的一部分,你也许需要在基于 Red Hat 系统中由于应用依赖排除一些软件包。如果是,如...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
如何检查你的 Linux 系统... 不知道在使用哪个初始化系统?以下是方法。每个主流 Linux 发行版(包括 Ubuntu、Fedor...
如何理解Apache 2.0许... 提要:Apache 2.0许可证中的专利许可条款使得开源代码可以安全使用,但它经常被误解。Apach...