Podman Desktop 是一个开源 GUI 应用,用于在 Linux、macOS 和 Windows 上管理容器。
从历史上看,开发人员一直使用 Docker Desktop 对容器进行图形化管理。这适用于那些安装了 Docker Daemon 和 Docker CLI 的人。然而,对于那些使用无守护进程的 Podman 工具的人来说,虽然有一些 Podman 前端,如 Pods、Podman desktop companion 和 Cockpit,但没有官方应用。现在不是这种情况了。有了 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 仍处于早期阶段。然而,它支持许多常见的容器操作,如创建容器镜像、运行容器等。此外,你可以在 “首选项” 的 “扩展” 部分下找到 Podman 扩展,你可以使用它来管理 macOS 和 Windows 上的 Podman 虚拟机。
此外,Podman Desktop 支持 Docker Desktop 扩展。你可以在 “首选项” 下的 “Docker Desktop Extensions” 安装此类扩展。应用窗口有两个窗格。左侧窄窗格显示应用的不同功能,右侧窗格是内容区域,它将根据左侧选择的内容显示相关信息。
Podman Desktop 0.0.6 在 Fedora 36 上运行
演示
为了全面了解 Podman Desktop 的功能,我们将从 Dockerfile 创建一个镜像并将其推送到注册中心,然后拉取并运行它,这一切都在 Podman Desktop 中完成。
构建镜像
第一步是通过在命令行中输入以下行来创建一个简单的 Dockerfile:
cat <<EOF>>Dockerfile
FROM docker.io/library/httpd:2.4
COPY . /var/www/html
WORKDIR /var/www/html
CMD ["httpd", "-D", "FOREGROUND"]
EOF
现在,点击 “镜像” 并按下 “构建镜像” 按钮。你将被带到一个新页面以指定 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。现在,按下 “构建” 按钮并等待构建完成。
推送镜像
构建完成后,就该推送镜像了。所以,我们需要在 Podman Desktop 中配置一个注册中心。进入 “首选项” -> “注册中心” 并按下 “添加注册中心” 按钮。
添加注册中心对话框
在 “添加注册中心” 对话框中,输入你的注册中心服务器地址和用户凭据,然后单击 “添加注册中心”。
现在,回到镜像列表中我的镜像,并按下上传图标将其推送到仓库。当你将鼠标悬停在设置中添加的注册中心名称开头的镜像名称上时(此演示中的 quay.io
),镜像名称旁边会出现一个推送按钮。
将鼠标悬停在镜像名称上时出现的按钮
镜像通过 Podman Desktop 推送到仓库
镜像被推送后,任何有权访问镜像仓库的人都可以拉取它。由于我的镜像仓库是公开的,因此你可以轻松地将其拉入 Podman Desktop。
拉取镜像
因此,为确保一切正常,请在本地删除此镜像并将其拉入 Podman Desktop。在列表中找到镜像并按删除图标将其删除。删除镜像后,单击 “拉取镜像” 按钮。在 “要拉取的镜像” 输入完全限定名称,然后按 “拉取镜像”。
Our container image is successfully pulled
创建一个容器
作为 Podman Desktop 演示的最后一部分,让我们从镜像中启动一个容器并检查结果。转到 “容器” 并按 “创建容器”。这将打开一个包含两个选项的对话框:“从 Containerfile/Dockerfile” 和 “从已有镜像”。按下 “从已有镜像”。这将进入镜像列表。在那里,选择我们要拉取的镜像。
在 Podman Desktop 中创建容器
现在,我们从列表中选择我们最近拉取的镜像,然后按它前面的 “运行” 按钮。在出现的对话框中,我输入 demo-web
作为容器名,输入 8000
作为端口映射,然后按下 “启动容器”。
Container configuration
容器开始运行,我们可以通过运行以下命令检查 Apache 服务器的默认页面:
curl http://localhost:8000
可以工作!
你还应该能够在容器列表中看到正在运行的容器,其状态已更改为 “运行中”。在那里,你会在容器前面找到可用的操作。例如,你可以单击终端图标打开 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中国 荣誉推出