一、podman 简介
Podman:用于管理 OCI 容器和 Pod 的工具
Podman: A tool for managing OCI pods
Podman(POD MANager) 是一个用于管理容器和映像、挂载到这些容器中的卷以及由容器组组成的 pod 的工具。Podman 在 Linux 上运行容器,但也可以使用 Podman 管理的虚拟机在 Mac 和 Windows 系统上使用。 Podman 基于 libpod,libpod 是一个用于容器生命周期管理的库,也包含在此存储库中。libpod 库提供了用于管理 containers(容器)、pods、 container images(容器镜像)和 volumes(卷)的 API。
二、安装 podman
官方安装参考文档:https://github.com/containers/podman/blob/main/docs/tutorials/podman-for-windows.md
Podman安装文件下载地址,https://github.com/containers/podman/releases
安装 Windows Podman 客户端首先要下载 Podman Windows installer(安装程序)。Windows 安装程序是随每个 Podman 版本构建的,可以从 Github 官方发布页面下载。
安装完成后,执行:
podman machine init
安装过程可能遇到的错误处理:
WSL 2 需要更新其内核组件。有关信息,请访问 https://aka.ms/wsl2kernel
Error: the WSL import of guest OS failed: exit status 0xffffffff
根据上面提示打开网址: https://aka.ms/wsl2kernel:
在管理员模式下打开 PowerShell 或 Windows 命令提示符,方法是右键单击并选择“以管理员身份运行”,输入 wsl --install 命令:
wsl --install
提示无法与服务器建立连接
,此时需要科学上网来解决。
由于提示已经有安装,则进行更新:
wsl --update
再次执行:
podman machine init
启动 machine
machine 初始化过程完成后,可以根据需要启动和停止:
podman machine start
此计算机当前配置为无根(rootless)模式。如果您的容器需要 root 权限(例如端口 < 1024),或者如果遇到兼容性问题 对于非
podman 客户端的问题,可以使用以下命令进行切换:podman machine set --rootful
Rootful & Rootless
在嵌入式 WSL Linux 发行版上,podman 可以在根用户(rootful)或非特权用户(rootless)下运行。为了在 Linux 上与 Podman 保持行为一致性,无根是默认设置。
注意:有根(rootful)容器和无根(rootless)容器是不同的,并且彼此隔离。针对其中一个的 Podman 命令(例如,Podman-ps)不会代表另一个的结果/状态。
虽然大多数容器在无根(rootless)设置中运行良好,但您可能会发现容器仅在具有根权限的情况下运行。如果是这种情况,您可以通过停止机器并使用 set 命令将其切换到 rootful:
podman machine stop
podman machine set --rootful
要恢复无根(rootless)执行,请将 rootful 设置为 false:
Podman machine stop
Podman machine set --rootful=false
安装 podman desktop
podman desktop下载地址:https://podman-desktop.io/downloads/Windows
按照提示按照后: