Podman Desktop安裝與使用-Windows10

HANFAN發表於2023-04-14

Podman Desktop安裝與使用-Windows10

下載

containers/podman 地址

Podman Desktop Downloads 地址

我這裡演示的是podman-v4.4.4.msi和podman-desktop-0.13.0-setup.exe

安裝

先決條件:由於 Podman 使用 WSL,因此您需要最新版本的 Windows 10 或 Windows 11。在 x64 上,WSL 需要內部版本 18362 或更高版本,arm19041 系統需要 64 或更高版本。在內部,WSL 使用虛擬化,因此係統必須支援並啟用硬體虛擬化。如果在 VM 上執行 Windows,則必須具有支援巢狀虛擬化的 VM。

依次安裝podman-v4.4.4.msi和podman-desktop-0.13.0-setup.exe

img

檢視安裝情況

podman -v

img

行命令來建立第一臺機器。podman machine init

自動 WSL 安裝
如果系統上尚未安裝 WSL,則第一個計算機 init 命令將提示對話方塊以開始自動安裝。如果接受,此過程將安裝必要的Windows元件,重新啟動系統,登入後,在終端視窗中重新啟動計算機建立過程。請務必等待一兩分鐘以重新啟動,因為 Windows 在執行啟動項之前有延遲。或者,可以拒絕自動安裝並手動安裝 WSL。但是,這將需要額外的下載和設定時間。

由於我之前已經安裝過,現在刪除重新開始初始化。

img

然後執行podman machine start開啟machine,

使用一個映象來快速嘗試執行

podman run ubi8-micro date

img

埠轉發

埠轉發和docker差不多,將埠繫結到本機(127.0.0.1)。值得注意的是,以非root方式(預設是非root)執行時,埠必須要大於1023

podman run --rm -d -p 8080:80 --name httpd docker.io/library/httpd

curl http://localhost:8080/ -UseBasicParsing

img

Rootful & Rootless

在嵌入式WSL Linux發行版上,podman既可以在根使用者(root)下執行,也可以在非特權使用者(root - tless)下執行。為了與Linux上的Podman保持行為一致性,預設為無根。注意:有根容器和無根容器是不同的,彼此隔離。針對其中一個的Podman命令(例如Podman ps)不會代表另一個的結果/狀態。

Podman 是一個容器引擎工具,允許使用者在 Linux 上執行應用程式容器。通常,在 Linux 上執行容器需要 root 許可權,但 Podman 可以允許非 root 使用者使用容器。

簡單來說,如果你是一個非 root 使用者,並且想要使用 Podman 執行容器,那麼你可以直接安裝和執行 Podman 軟體,而無需獲取 root 許可權。這個功能非常有用,因為它可以避免不必要的安全風險和許可權訪問問題。

請注意,雖然 Podman 允許非 root 使用者使用容器,但這也意味著您的容器將受到更多限制,例如無法執行全部作業系統等。因此,建議您在需要時與管理員協商並根據情況選擇正確的許可權。

Docker 預設情況下需要在 Linux 上以 root 許可權執行,這就意味著如果您想使用 Docker 執行容器,您必須作為 root 使用者登入到系統中。這可能會帶來一些安全風險,因為 root 使用者擁有系統上所有資源的完全控制權,而這並不總是安全或必要的。

不過,Docker 也提供了對非 root 使用者訪問容器的支援。與 Podman 不同的是,Docker 要求您手動將非 root 使用者新增到 docker 組中以實現這一點。這個方法需要管理員許可權,並且需要特殊的配置才能正常使用。

與 Docker 相比,Podman 更適合需要以非 root 使用者身份管理容器的使用者。Podman 可以直接在普通使用者下執行,無需任何特殊配置或新增使用者到任何組中。這可以使整個容器生命週期更加安全和可靠。

總之,Podman 和 Docker 的區別在於如何允許非 root 使用者訪問容器。Podman 允許非 root 使用者直接執行容器,而 Docker 則需要特殊配置和許可權來實現類似的功能。

切換rootful

podman machine stop
podman machine set --rootful

切換Rootless

Podman machine stop
Podman machine set --rootful=false

Volume Mounting(掛載)

Windows Style Paths:

podman run --rm -v c:\Users\User\myfolder:/myfolder ubi8-micro ls /myfolder

Unixy Windows Paths:

podman run --rm -v /c/Users/User/myfolder:/myfolder ubi8-micro ls /myfolder

Linux paths local to the WSL filesystem:

podman run --rm -v /var/myfolder:/myfolder ubi-micro ls /myfolder

常用命令

https://docs.podman.io/en/latest/index.html

直接在這個網站上找吧,如果你使用過docker,其實上手非常簡單。

相關文章