podman初试——和码头工人对比

  

podman初试——和码头工人对比

  

1,什么是码头工人?

  

码头工人是一个开源的应用容器引擎,属于Linux容器的一种封装,码头工人提供简单易用的容器使用接口,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上。容器是完全使用沙箱机制,相互之间不会有任何接口。

  

2,什么是Podman ?

  

Podman是一个开源的容器运行时项目,可在大多数Linux平台上使用.Podman提供与码头工人非常相似的功能,正如前面提到的那样,它不需要在你的系统上运行任何守护进程,并且它也可以在没有根权限的情况下运行。
Podman可以管理和运行任何符合OCI(打开容器倡议)规范的容器和容器镜像.Podman提供了一个与码头工人兼容的命令行前端来管理码头工人镜像。

  
  
      <李> Podman官网地址:https://podman.io/   <李> Podman项目地址:https://github.com/containers/libpod   
     

3, Podman和码头工人不同之处?

  
      <李>码头工人需要在我们的系统上运行一个守护进程(码头工人守护进程),而podman不需要李   <李>启动容器的方式不同:
    <代码>码头工人cli 命令通过API跟<代码>码头工人引擎(引擎)交互告诉它我想创建一个容器,然后<代码> 码头工人引擎才会调用<代码> OCI容器运行时(runc) 来启动一个容器。这代表容器的过程(进程)不会是<代码>码头工人cli 的<代码>子进程(子进程)> 码头工人引擎的<代码>子进程> <代码> Podman> OCI包含运行时(runc) 进行交互来创建容器的,所以<代码>容器过程> Podman 的<代码>子进程>   <李>因为docke有码头工人守护进程,所以码头工人启动的容器支持<代码>——重启策略,但是podman不支持,如果在美丽中就不存在这个问题,我们可以设置pod的重启策略,在系统中我们可以采用编写systemd服务来完成自启动李   <李>码头工人需要使用根用户来创建容器,但是podman不需要李   
  

4, podman的安装

  

4.1, Arch Linux,Manjaro Linux

  
 <代码类=" language-bash "> sudo pacman - s podman  
  

4.2, Fedora, Centos

  
 <代码类=" language-bash "> sudo使用yum - y安装podman  
  

4.3, Gentoo

  
 <代码类=" language-bash "> sudo出现app-emulation/libpod  
  

4.4, MacOS

  
 <代码类=" language-bash ">酿酒桶安装podman  
  

5, Podman CLI介绍

  

Podman CLI里面87%的指令都和码头工人CLI相同,官方给出了这么个例子<代码>别名码头工人=Podman>   

运行一个容器

  
 <代码类=" language-bash "> podman运行dt - p 80:80——名字nginx - v/数据:/数据- e NGINX_VERSION=1.16 nginx: 1.16.0  
  

列出当前所有的容器

  
 <代码类=" language-bash "> # podman ps -
  容器标识图像命令创建状态端口名称
  19 f105d5dc1e docker.io/图书馆/nginx: 1.16.0 nginx - g守护进程啊……2分钟前2分钟前0.0.0.0:80→80/tcp nginx  
  

查看一个镜像信息

  
 <代码类=" language-bash "> # podman检查nginx | grep - i“ipaddress”
  “SecondaryIPAddresses”:空,
  :“IPAddress 10.88.0.110”,  
  

查看容器运行的日志

  
 <代码类=" language-bash "> podman日志nginx  
  

查看运行中容器资源使用情况

  
 <代码类=" language-bash "> # podman nginx
  用户PID PPID % CPU运行时间TTY命令
  根1 0 5 m26.420969043s分/0.000 0 0年代nginx:主进程nginx - g守护进程;
  nginx 6 1 5 m26.421085502s分/0.000 0 0年代nginx:工作进程
  
  # podman统计nginx
  ID名称CPU % MEM使用/限制MEM %网络IO阻塞IO pid
  19 f105d5dc1e nginx——2.036 mb/1.893 gb 978 b/10.55 kb -/- 2 0.11%  
  

迁移容器

  

Podman支持将容器从一台机器迁移到另一台机器。
首先,在源机器上对容器设置检查点,并将容器打包到指定位置。

  
 <代码类=" language-bash "> $ sudo podman容器检查点& lt; container_id>- e/tmp/checkpoint.tar.gz
  scp/tmp/checkpoint.tar美元。广州& lt; destination_system>:/tmp/

podman初试——和码头工人对比