如何使用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项目,如安装文档中所述。您可以轻松地将此软件包添加到 Ubuntu 发行版中:
. /etc/os-release
sudo sh -c "echo 'deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/x${NAME}_${VERSION_ID}/ /' > /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list"
wget -nv https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/x${NAME}_${VERSION_ID}/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 进行容器运行状况检查。此功能也尚未经过测试。