使用 Podman Desktop 在 Fedora Linux 上管理容器

語言: CN / TW / HK

從歷史上看,開發人員一直使用 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 仍處於早期階段。然而,它支援許多常見的容器操作,如建立容器映象、執行容器等。此外,你可以在 “首選項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 <<EOF>>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/DockerfileFrom 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 支援