1. 程式人生 > 其它 >如何使用WSL2在Windows上執行Podman

如何使用WSL2在Windows上執行Podman

想在Windows 10上執行Podman嗎?您可以,感謝最新的Windows子系統Linux(WSL)2.0實現。

藉助最新的 Windows 子系統 for Linux (WSL) 2.0 實現,Podman 現在可以開箱即用。對配置檔案的微小更改使 Podman 更易於使用。在接下來的部分中,我將記錄如何在WSL2下執行Podman,以及我更改了哪些配置以使事情順利進行。

需要提前安裝wsl2 linux環境,具體參考:安裝 WSL | Microsoft Docs

新增 Podman PPA 並安裝 Podman

在Ubuntu上開始安裝Podman的最簡單方法是使用Kubic專案,如

安裝文件中所述。您可以輕鬆地將此軟體包新增到 Ubuntu 發行版中:

sudo sh -c "echo 'deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/xUbuntu_20.04/ /' > /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list"

wget -nv https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/xUbuntu_20.04/Release.key -O Release.key

sudo apt-key add - < Release.key
sudo apt-get update -qq
sudo apt-get -qq -y install podman
sudo mkdir -p /etc/containers
echo -e "[registries.search]\nregistries = ['docker.io', 'quay.io']" | sudo tee /etc/containers/registries.conf

由於WSL2的獨特環境,我建議對Podman的配置檔案進行更改。否則,您需要將額外的配置選項傳遞給每個命令。如果您更喜歡這種方法,則必須將以下內容傳遞給每個咒語:

podmanpodman

--cgroup-manager cgroupfs --event-logger file

以下兩節描述瞭如何使這些更改對無根和特權 Podman 使用者永久保留。

此操作將建立 Podman 配置檔案 。只需編輯此檔案並將 的值更改為 。$HOME/.config/containers/libpod.confevents_logger<file>

完全根配置檔案更改

如果您希望以特權使用者身份執行,應首先將 Podman 配置檔案複製到 。podman/etc/containers/

無根配置檔案更改

如果您計劃以非 root 使用者身份執行,則應從一個簡單的命令開始,例如:podmanpodman

$ podman info 

此操作將建立 Podman 配置檔案 。只需編輯此檔案並將 的值更改為 。$HOME/.config/containers/libpod.confevents_logger<file>

完全根配置檔案更改

如果您希望以特權使用者身份執行,應首先將 Podman 配置檔案複製到 。podman/etc/containers/

$ sudo cp /usr/share/containers/libpod.conf /etc/containers

現在,在 中編輯版本並將 的值更改為 。然後,取消註釋鍵的行並將值更改為 。/etc/containerscgroup_managercgroupfsevents_logger<file>

以下是更改的簡單差異:

27c27 < cgroup_manager = "systemd" --- > cgroup_manager = "cgroupfs" 109c109 < # events_logger = "journald" --- > events_logger = "file

陷阱

請記住,WSL2 仍然是一個實驗環境,因此,並非 Podman 中的所有內容都能正常工作。例如,我進行了更改以禁用 Podman 配置檔案中與 SystemD 相關的功能。我還沒有測試在 WSL 發行版中使用 SystemD 來控制容器的能力。Podman 還使用 SystemD 進行容器執行狀況檢查。此功能也尚未經過測試。