Podman安装与使用

1.Podman简介

Podman是一个无守护进程的容器引擎,用于在Linux系统上开发、管理和运行OCI容器。

Podman的主要功能包括:

  1. 创建和管理容器:Podman可以创建、启动、停止和删除容器,以及管理容器的生命周期。
  2. 容器镜像管理:Podman可以下载、存储和导出容器镜像,以及创建基于镜像的容器。
  3. 容器网络管理:Podman可以创建和管理容器的网络连接,包括桥接网络和覆盖网络。
  4. 容器日志管理:Podman可以查看容器的日志信息,包括标准输出和错误输出。
  5. 容器资源管理:Podman可以限制容器的资源使用,包括CPU、内存和存储等。

Podman是一个命令行工具,提供了一个与Docker兼容的命令行界面。Podman控制下的容器可以由root或非特权用户运行,这增加了系统的安全性和灵活性。

总的来说,Podman是一个功能强大的容器管理工具,可以用于开发和运行OCI容器,无需使用Docker守护进程,具有轻量级和高效的特点。

2.Podman安装

下载

Podman安装 | (podman.io)icon-default.png?t=N7T8https://podman.io/docs/installation

先决条件:由于 Podman 使用 WSL,因此您需要最新版本的 Windows 10 或 Windows 11。在 x64 上,WSL 需要内部版本 18362 或更高版本,arm19041 系统需要 64 或更高版本。在内部,WSL 使用虚拟化,因此系统必须支持并启用硬件虚拟化。如果在 VM 上运行 Windows,则必须具有支持嵌套虚拟化的 VM。
安装Podman

安装 Windows Podman 客户端首先要下载 Podman Windows 安装。Windows安装程序是随每个Podman版本一起构建的,可以从官方 Github 发布页面下载。请务必下载 4.1 或更高版本。

Podman安装与使用_第1张图片

下载后,只需运行exe文件,然后重新启动新终端。在新终端输入podman machine init

Podman安装与使用_第2张图片

 如果重启输入 podman machine init 之后出现以下情况,可以再次关闭终端,再重启之后输入 podman machine init,就可以了

Error: head request failed: https://github.com/containers/podman-wsl-fedora/releases/latest/download/rootfs.tar.xz: Head "https://github.com/containers/podman-wsl-fedora/releases/latest/download/rootfs.tar.xz": read tcp 192.168.133.156:60309->20.205.243.166:443: wsarecv: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.

初始化过程完成后,可以启动和停止Podman

Podman安装与使用_第3张图片

至此,Podman安装完成,关闭当前所有终端,重启新终端后会有如下界面,进入就可以正常使用了

 Podman安装与使用_第4张图片

Rootful&Rootless

在WSL 上,podman既可以在根用户(root)下运行,也可以在非特权用户(root less)下运行。为了与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

常用命令

 What is Podman? — Podman documentation

Podman用法与Docker用法十分类似,所以你用过Docker,Podman上手应该很快。

3.补充:

在centos中,也可以通过yum install podman来安装podman使用,不过这种方法下载的podman不是最新版本,而是比较旧的版本。比如在centos7.7.1908中,通过yum install podman下载安装podman的版本信息为1.6.4。

注意,由于上面centos的版本为centos7.7.1908,所以当centos使用overlay2存储驱动时无法正常使用1.6.4版本的podman,podman 1.6.4版本要想使用overlay存储驱动正常工作,centos版本要7.8以上才可以。

你可能感兴趣的:(概伦实习,podman,linux,centos)