在Rocky8安装并使用podman

描述

Podman是redhat发行的容器管理工具,类似于docker,但是没有守护进程。它不仅可以管理OCI容器,还可以管理pod, 这也是和docker的最大差别吧.

Podman提供了一个指令和docker十分类似的命令行前端,有87%的指令都和docker cli相同,基本上把docker命令套用在podman上就可以用。在RHEL8中,直接预装了podman用来替代之前的docker

Podman和docker比较有啥好处?

1)更加rootless, 尽管docker也可以rootless, 但是podman设计之初就开始支持;

2)没有daemon, 这使得podman在结合namespace和cgroup一起使用会更加灵活;

3)和k8s基本一样的pod, 一样支持infra容器,这使得一些简单的容器编排工作, podman也可以简单实现;

4)在systemd service集成方面, 由于没有deamon, podman通过generate子命令, 可以生成systemd service配置, 来管理容器和pod的作为服务启动.

5)Podman可以生成kubectl的yaml配置文件, 也通过podman play kube来运行k8s的配置, 也可以作为k8s的一个过渡吧, 而且podman也没有去实现CRI的计划, 这应该也是官方的态度, 不会参和到k8s生态中, 保持自己的轻量化工具的定位吧;

6)Podman通过ssh隧道或者tcp端口, 可以连接到远程机器上的podman service, 从而实现远程机器上的容器和 pod 管理.

所以podman提供了一些轻量化而又灵活的功能特性,满足容器化以及小批量服务器的场景。

下面我在Rocky8里面安装并使用一下podman。

安装很简单,直接yum安装即可

# yum install -y podman

查看其版本

# podman --version

查看镜像列表

# podman images

拉取指定镜像

# podman pull busybox
Resolved "busybox" as an alias (/etc/containers/registries.conf.d/000-shortnames.conf)
Trying to pull docker.io/library/busybox:latest...
Getting image source signatures
Copying blob f5b7ce95afea done
Copying config ff4a8eb070 done
Writing manifest to image destination
Storing signatures
ff4a8eb070e12018233797e865841d877a7835c4c6d5cfc52e5481995da6b2f7

查看镜像

# podman images
REPOSITORY                 TAG         IMAGE ID      CREATED                 SIZE
docker.io/library/busybox  latest      ff4a8eb070e1  Less than a second ago  1.46 MB

启动容器

# podman run -itd busybox
2a4e9bd4db56971179a8f498d19caeac738dc1d3dc66cae949bde14d683a7016

查看启动的容器

# podman ps
CONTAINER ID  IMAGE                             COMMAND     CREATED         STATUS            PORTS       NAMES
2a4e9bd4db56  docker.io/library/busybox:latest  sh          12 seconds ago  Up 7 seconds ago              crazy_nash

可以看到,跟docker用法几乎一模一样。
  
审核编辑:汤梓红


打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分