[#]: subject: "Manage containers on Fedora Linux with Podman Desktop" [#]: via: "https://fedoramagazine.org/manage-containers-on-fedora-linux-with-podman-desktop/" [#]: author: "Mehdi Haghgoo https://fedoramagazine.org/author/powergame/" [#]: collector: "lkxed" [#]: translator: "geekpi" [#]: reviewer: "wxy" [#]: publisher: "wxy" [#]: url: "https://linux.cn/article-15058-1.html" 使用 Podman Desktop 在 Fedora Linux 上管理容器 ====== ![][1] > Podman Desktop 是一个开源 GUI 应用,用于在 Linux、macOS 和 Windows 上管理容器。 从历史上看,开发人员一直使用 Docker Desktop 对容器进行图形化管理。这适用于那些安装了 Docker Daemon 和 Docker CLI 的人。然而,对于那些使用无守护进程的 Podman 工具的人来说,虽然有一些 Podman 前端,如 [Pods][2]、[Podman desktop companion][3] 和 [Cockpit][4],但没有官方应用。现在不是这种情况了。有了 Podman Desktop! 本文将讨论由红帽和其他开源贡献者开发的 Podman Desktop 的特性、安装和使用。 ### 安装 要在 Fedora Linux 上安装 Podman Desktop,请访问 [podman-desktop.io][5],然后单击 “Download for Linux” 按钮。你将看到两个选项:Flatpak 和 zip。在这个例子中,我们使用的是 Flatpak。单击 “Flatpak” 链接后,通过双击文件在 GNOME 软件中打开它(如果你使用的是 GNOME)。你也可以通过终端安装它: ``` flatpak install podman-desktop-X.X.X.flatpak ``` 在上面的命令中,将 X.X.X 替换为你下载的特定版本。如果你下载了 zip 文件,那么解压缩存档,然后启动 Podman Desktop 应用的二进制文件。你还可以通过进入 GitHub 上项目的 [发布][6] 页找到预发布版本。 ### 特性 Podman Desktop 仍处于早期阶段。然而,它支持许多常见的容器操作,如创建容器镜像、运行容器等。此外,你可以在 “首选项Preferences” 的 “扩展Extensions” 部分下找到 Podman 扩展,你可以使用它来管理 macOS 和 Windows 上的 Podman 虚拟机。 此外,Podman Desktop 支持 Docker Desktop 扩展。你可以在 “首选项Preferences” 下的 “Docker Desktop Extensions” 安装此类扩展。应用窗口有两个窗格。左侧窄窗格显示应用的不同功能,右侧窗格是内容区域,它将根据左侧选择的内容显示相关信息。 ![Podman Desktop 0.0.6 在 Fedora 36 上运行][7] ### 演示 为了全面了解 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” 按钮。 ![添加注册中心对话框][8] 在 “添加注册中心Add registry” 对话框中,输入你的注册中心服务器地址和用户凭据,然后单击 “添加注册中心Add registry”。 现在,回到镜像列表中我的镜像,并按下上传图标将其推送到仓库。当你将鼠标悬停在设置中添加的注册中心名称开头的镜像名称上时(此演示中的 `quay.io`),镜像名称旁边会出现一个推送按钮。 ![将鼠标悬停在镜像名称上时出现的按钮][9] ![镜像通过 Podman Desktop 推送到仓库][10] 镜像被推送后,任何有权访问镜像仓库的人都可以拉取它。由于我的镜像仓库是公开的,因此你可以轻松地将其拉入 Podman Desktop。 #### 拉取镜像 因此,为确保一切正常,请在本地删除此镜像并将其拉入 Podman Desktop。在列表中找到镜像并按删除图标将其删除。删除镜像后,单击 “拉取镜像Pull Image” 按钮。在 “要拉取的镜像Image to Pull” 输入完全限定名称,然后按 “拉取镜像Pull Image”。 ![Our container image is successfully pulled][11] #### 创建一个容器 作为 Podman Desktop 演示的最后一部分,让我们从镜像中启动一个容器并检查结果。转到 “容器Containers” 并按 “创建容器Create Container”。这将打开一个包含两个选项的对话框:“从 Containerfile/DockerfileFrom Containerfile/Dockerfile” 和 “从已有镜像From existing image”。按下 “从已有镜像From existing image”。这将进入镜像列表。在那里,选择我们要拉取的镜像。 ![在 Podman Desktop 中创建容器][12] 现在,我们从列表中选择我们最近拉取的镜像,然后按它前面的 “运行Play” 按钮。在出现的对话框中,我输入 `demo-web` 作为容器名,输入 `8000` 作为端口映射,然后按下 “启动容器Start Container”。 ![Container configuration][13] 容器开始运行,我们可以通过运行以下命令检查 Apache 服务器的默认页面: ``` curl http://localhost:8000 ``` ![可以工作!][14] 你还应该能够在容器列表中看到正在运行的容器,其状态已更改为 “运行中Running”。在那里,你会在容器前面找到可用的操作。例如,你可以单击终端图标打开 TTY 进入到容器中! ![][15] ### 接下来是什么 Podman Desktop 还很年轻,处于 [积极开发][16] 中。 GitHub 上有一个项目 [路线图][17],其中列出了令人兴奋的按需功能,包括: * Kubernetes 集成 * 支持 Pod * 任务管理器 * 卷支持 * 支持 Docker Compose * Kind 支持 -------------------------------------------------------------------------------- via: https://fedoramagazine.org/manage-containers-on-fedora-linux-with-podman-desktop/ 作者:[Mehdi Haghgoo][a] 选题:[lkxed][b] 译者:[geekpi](https://github.com/geekpi) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 [a]: https://fedoramagazine.org/author/powergame/ [b]: https://github.com/lkxed [1]: https://fedoramagazine.org/wp-content/uploads/2022/09/podman-desktop-on-fedora-816x345.jpg [2]: https://github.com/marhkb/pods [3]: https://github.com/iongion/podman-desktop-companion [4]: https://github.com/cockpit-project/cockpit/ [5]: https://podman-desktop.io/ [6]: https://github.com/containers/podman-desktop/releases/ [7]: https://fedoramagazine.org/wp-content/uploads/2022/08/pd.png [8]: https://fedoramagazine.org/wp-content/uploads/2022/08/registry.png [9]: https://fedoramagazine.org/wp-content/uploads/2022/08/image.png [10]: https://fedoramagazine.org/wp-content/uploads/2022/08/Screenshot-from-2022-08-27-23-51-38.png [11]: https://fedoramagazine.org/wp-content/uploads/2022/08/image-2.png [12]: https://fedoramagazine.org/wp-content/uploads/2022/08/image-3.png [13]: https://fedoramagazine.org/wp-content/uploads/2022/08/image-5.png [14]: https://fedoramagazine.org/wp-content/uploads/2022/08/image-6.png [15]: https://fedoramagazine.org/wp-content/uploads/2022/09/image-2-1024x393.png [16]: https://github.com/containers/podman-desktop [17]: https://github.com/orgs/containers/projects/2