podman

Podman是一个无守护进程的容器引擎,兼容Docker CLI,支持在Linux上运行OCI容器和镜像。它允许root和非特权用户运行容器,提供与Docker API的兼容性。Podman强调了在不同场景下的使用,如容器的开机自启、网络管理和普通用户的使用方法。
摘要由CSDN通过智能技术生成

podman

什么是podman?

官网 podman (podman.io)

​ Podman是一个开源项目,可以在大多数Linux平台上使用,可将代码放在[GitHub]上。Podman 是一个无守护容器引擎,用于在 Linux 系统上开发、管理和运行开放容器计划 (OCI) 容器和容器映像。Podman 提供了一个与 Docker 兼容的命令行前端,可以简单地别名 Docker cli,alias docker=podman。Podman还提供了套接字激活的REST API服务,以允许远程应用程序启动按需容器。这个REST API还支持Docker API,允许docker-py和docker-compose的用户与Podman即服务进行交互。

​ Podman 控制下的容器可以由 root 用户运行,也可以由非特权用户运行。Podman 使用[libpod]库管理整个容器生态系统,包括 Pod、容器、容器映像和容器卷。Podman 专注于帮助您维护和修改 OCI 容器映像的所有命令和功能,例如拉取和标记。它允许您在生产环境中创建、运行和维护从这些映像创建的容器。

​ Podman服务仅在Linux平台上运行,但是podman远程REST API客户端存在于Mac和Windows平台上,并且可以通过ssh与Linux机器或VM上运行的Podman服务进行通信。

​ podman(Pod Manager)是一个由RedHat公司推出的容器管理工具,它的定位就是docker的替代品,在使用上与docker的体验类似。 podman源于CRI-O项目,可以直接访问OCI的实现(如runC),流程比docker要短。 二者主要的区别在于,podman是一个开源的产品;而docker已经是商业化的产品。 podman的开源代码,由RedHat的OpenShift项目维护。 podman.io上面的文档还不算很健全,作为普通开发者,将其当成docker去用,难度也不算很大。

概述和范围

从高层次上讲,libpod 和 Podman 的范围如下:

  • 支持多种镜像格式,包括 OCI 和 Docker 镜像格式。
  • 支持多种安全下载图像的方法,包括信任和图像验证。
  • 容器映像管理(管理映像层、覆盖文件系统等)。
  • 全面管理容器生命周期。
  • 支持 Pod 一起管理容器组。
  • 容器和 Pod 的资源隔离。

策略

  • 有关 podman pod 命令的进一步工作。
  • 无根容器的进一步改进。
  • 支持无根 Podman 与 NFS Homedirs。
  • 支持原生叠加层上的无根 Podman。
  • 增强了图像的加速拉取功能。
  • Podman 程序,用于设置用于在 Mac 和 Linux 上运行 nativley 的 VM。podman -remote run
podman的安装

podman 安装 (podman.io)

podman 在 CentOS 7 的默认 Extras 存储库中可用,在 CentOS 8 和 Stream 的 AppStream 存储库中可用。

[root@localhost ~]# dnf -y install podman

[root@localhost ~]# rpm -qa | grep podman
podman-3.4.1-3.module_el8.6.0+954+963caf36.x86_64
podman-catatonit-3.4.1-3.module_el8.6.0+954+963caf36.x86_64

# 我们可以给podman定义一个别名叫docker
[root@localhost ~]# alias docker=podman
[root@localhost ~]# docker images
REPOSITORY               TAG         IMAGE ID      CREATED      SIZE

[root@localhost ~]# podman images
REPOSITORY               TAG         IMAGE ID      CREATED      SIZE

查看帮助

[root@localhost ~]# podman --help
Manage pods, containers and images

Usage:
  podman [options] [command]

Available Commands:
  attach      Attach to a running container
  auto-update Auto update containers according to their auto-update policy
  build       Build an image using instructions from Containerfiles
  ...... 

查看帮助文档

[root@localhost ~]# man podman
......

# 查看子命令,示例(example),比如查看 podman run
[root@localhost ~]# man podman-run
.......
poman 的常用命令:

Podman可以使用一些简单的关键字在远程官方仓库上搜索镜像

podman search <search_term>

[root@localhost ~]# podman search nginx
INDEX              NAME                                                          DESCRIPTION                                      STARS       OFFICIAL    AUTOMATED
fedoraproject.org  registry.fedoraproject.org/f29/nginx                                                                           0                       
redhat.com         registry.access.redhat.com/ubi8/nginx-118                     Platform for running nginx 1.18 or building ...  0                       
......
centos.org         registry.centos.org/centos/nginx                                                                               0                       
.......
docker.io          docker.io/library/nginx                                       Official build of Nginx.                         15928       [OK]        
......
# 搜索的镜像有多个拉取地址,所以拉取的时候要指定具体的地址

还可以使用过滤器增强搜索:

podman search httpd --filter=is-official

[root@localhost ~]# podman search nginx --filter=is-official    (--filter=is-official 过滤官方镜像)
INDEX       NAME                     DESCRIPTION                STARS     OFFICIAL    AUTOMATED
docker.io   docker.io/library/nginx  Official build of Nginx.   15928       [OK]

下载(拉取)图像也很容易

[root@localhost ~]# podman pull docker.io/library/nginx
......

# 注意:Podman在不同的注册管理机构中搜索。因此,建议使用完整的映像名称(docker.io/library/httpd而不是httpd)来确保使用正确的映像。

拉取一些图像后,您可以列出计算机上存在的所有图像

[root@localhost ~]# podman images
REPOSITORY               TAG         IMAGE ID      CREATED      SIZE
docker.io/library/nginx  latest      f652ca386ed1  11 days ago  146 MB

运行容器

示例容器将运行一个非常基本的 nginx 服务器,该服务器仅为其索引页提供服务

[root@localhost ~]# podman run -d -p 80:80 docker.io/library/nginx:latest
81462774ef3a27079293143a15b361a9672100e44868ac
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值