下载
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
查看安装情况
podman -v
行命令来创建第一台机器。podman machine init
自动 WSL 安装
如果系统上尚未安装 WSL,则第一个计算机 init 命令将提示对话框以开始自动安装。如果接受,此过程将安装必要的Windows组件,重新启动系统,登录后,在终端窗口中重新启动计算机创建过程。请务必等待一两分钟以重新启动,因为 Windows 在执行启动项之前有延迟。或者,可以拒绝自动安装并手动安装 WSL。但是,这将需要额外的下载和设置时间。
由于我之前已经安装过,现在删除重新开始初始化。
然后执行podman machine start
开启machine,
使用一个镜像来快速尝试运行
podman run ubi8-micro date
端口转发
端口转发和docker差不多,将端口绑定到本机(127.0.0.1)。值得注意的是,以非root方式(默认是非root)运行时,端口必须要大于1023
podman run --rm -d -p 8080:80 --name httpd docker.io/library/httpdcurl http://localhost:8080/ -UseBasicParsing
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
常用命令
What is Podman? — Podman documentation
直接在这个网站上找吧,如果你使用过docker,其实上手非常简单。