如何使用WSL2在Windows上執行Podman
想在Windows 10上執行Podman嗎?您可以,感謝最新的Windows子系統Linux(WSL)2.0實現。
藉助最新的 Windows 子系統 for Linux (WSL) 2.0 實現,Podman 現在可以開箱即用。對配置檔案的微小更改使 Podman 更易於使用。在接下來的部分中,我將記錄如何在WSL2下執行Podman,以及我更改了哪些配置以使事情順利進行。
與windows相關的準備工作
需要提前安裝wsl2 linux環境,具體參考:安裝 WSL | Microsoft Docs
新增 Podman PPA 並安裝 Podman
在Ubuntu上開始安裝Podman的最簡單方法是使用Kubic專案,如
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的配置檔案進行更改。否則,您需要將額外的配置選項傳遞給每個命令。如果您更喜歡這種方法,則必須將以下內容傳遞給每個咒語:
podman
podman
--cgroup-manager cgroupfs --event-logger file
以下兩節描述瞭如何使這些更改對無根和特權 Podman 使用者永久保留。
此操作將建立 Podman 配置檔案 。只需編輯此檔案並將 的值更改為 。$HOME/.config/containers/libpod.conf
events_logger
<file>
完全根配置檔案更改
如果您希望以特權使用者身份執行,應首先將 Podman 配置檔案複製到 。podman
/etc/containers/
無根配置檔案更改
如果您計劃以非 root 使用者身份執行,則應從一個簡單的命令開始,例如:podman
podman
$ podman info
此操作將建立 Podman 配置檔案 。只需編輯此檔案並將 的值更改為 。$HOME/.config/containers/libpod.conf
events_logger
<file>
完全根配置檔案更改
如果您希望以特權使用者身份執行,應首先將 Podman 配置檔案複製到 。podman
/etc/containers/
$ sudo cp /usr/share/containers/libpod.conf /etc/containers
現在,在 中編輯版本並將 的值更改為 。然後,取消註釋鍵的行並將值更改為 。/etc/containers
cgroup_manager
cgroupfs
events_logger
<file>
以下是更改的簡單差異:
27c27 < cgroup_manager = "systemd" --- > cgroup_manager = "cgroupfs" 109c109 < # events_logger = "journald" --- > events_logger = "file
陷阱
請記住,WSL2 仍然是一個實驗環境,因此,並非 Podman 中的所有內容都能正常工作。例如,我進行了更改以禁用 Podman 配置檔案中與 SystemD 相關的功能。我還沒有測試在 WSL 發行版中使用 SystemD 來控制容器的能力。Podman 還使用 SystemD 進行容器執行狀況檢查。此功能也尚未經過測試。