浅谈容器技术之Podman

news2024/9/29 15:18:55

1.Podman容器简介

Podman(Pod Manager)是一个由RedHat公司推出的容器管理工具,它的定位就是 Docker 的替代品,在使用上与Docker 的体验类似。Podman源于CRI-O项目,可以直接访问 OCI 的实现(如 runC),流程比 docker 要短。

Podman 是一个开源的容器运行时项目,可在大多数 Linux 平台上使用。Podman 提供与 Docker 非常相似的功能。它不需要在系统上运行任何守护进程,并且它也可以在没有 root 权限的情况下运行。Podman 可以管理和运行任何符合 OCI(Open Container Initiative)规范的容器和容器镜像。Podman 提供了一个与 Docker 兼容的命令行前端来管理 Docker 镜像。

2.Podman与Docker的区别

在容器管理的链路中,Docker Engine的实现就是 dockerd daemon,它在 linux 中需要以 root 运行,dockerd 调用 containerd,containerd 调用 containerd-shim,然后才能调用 runc。顾名思义shim 起的作用也就是“垫片”,避免父进程退出影响容器的运训。

podman 直接调用 OCI runtime(runc),通过common 作为容器进程的管理工具,但不需要dockerd 这种以root 身份运行的守护进程。

在podman 体系中,有个称之为common 的守护进程,其运行路径通常是/usr/libexec/podman/conmon,它是各个容器进程的父进程,每个容器各有一个,common 的父则通常是 1 号进程。podman 中的 common 其实相当于docker体系中的 containerd-shim。

                

上图中所体现的是,podman不需要守护进程,而docker需要守护进程。Podman通过直接与Image Registry、Image和Container进行互动,而不是通过守护进程来解决以上问题。此外,Podman还允许用户在没有完全root 权限的情况下运行容器。 更为重要的是,它还提供了与Docker兼容的指令,使用户可以很轻易的从原本的Docker指令切换到Podman。

3.Podman容器常用命令

3.1容器相关命令

podman run     #创建并启动容器  
podman start    #启动容器  
podman ps      #查看容器  
podman stop     #终止容器  
podman restart   #重启容器  
podman attach    #进入容器  
podman exec     #进入容器  
podman export    #导出容器  
podman import    #导入容器快照  
podman rm      #删除容器  
podman logs     #查看日志
podman system migrate #为用户停止所有容器并终止暂停进程

3.2镜像相关命令

podman search       #检索镜像  
docke pull         #获取镜像  
podman images       #列出镜像  
podman image Is      #列出镜像  
podman rmi         #删除镜像  
podman image rm      #删除镜像  
podman save        #导出镜像  
podman load        #导入镜像  
podmanfile         #定制镜像(三个)  
podman build        #构建镜像  
podman run        #运行镜像  
podmanfile        #常用指令(四个)  
•    COPY           #复制文件  
•    ADD           #高级复制  
•    CMD           #容器启动命令  
•    ENV           #环境变量  
•    EXPOSE          #暴露端口

4.部署和使用Podman容器

4.1Podman的安装

4.1.1yum方式安装

//安装podman
yum -y install podman
//仓库配置
vim /etc/containers/registries.conf  
[registries.search] 
registries = ['registry.access.redhat.com', 'registry.redhat.io', 'docker.io'] unqualified-search-registries = ["registry.fedoraproject.org", "registry.access.redhat.com", "registry.centos.org", "docker.io"] 

4.1.2源码方式安装

git clone https://github.com/containers/podman/cd podman
make BUILDTAGS="selinux seccomp"
sudo make install PREFIX=/usr 

4.2Podman的使用

验证是否安装成功

 运行podman容器

podman run -d --name httpd docker.io/library/httpd
podman images

 列出运行的容器

podman ps

 注意:如果在ps命令中添加-a,Podman 将显示所有容器。

检查正在运行的容器

您可以“检查”正在运行的容器的元数据和有关其自身的详细信息。我们甚至可以使用 inspect 子命令查看分配给容器的 IP 地址。由于容器以无根模式运行,因此未分配 IP 地址,并且该值将在检查的输出中列为“无”。

注意: -l 是最新容器的便利参数。您还可以使用容器的 ID 代替 -l。

podman inspect -l | grep IPAddress

 查看一个运行中容器的日志

podman logs --latest

 查看一个运行容器中的进程资源使用情况

podman top <container_id>

停止一个运行中的容器

podman stop --latest

 删除一个容器

podman rm --latest

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/711608.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Unity实战】复刻实现经典2d平台跳跃游戏《蔚蓝 Celeste》(附工程源码)

文章目录 前言蔚蓝欣赏实现1. 移动2. 跳跃3. 滑动4. 爬墙5. 蹬墙跳6. 移动优化7. 粒子效果8. 角色环境素材9. 编写角色动画控制10. Tilemap绘制地图环境11. 环境粒子特效12. 冲锋残影效果13. 屏幕震动效果14. 涟漪效果 最终效果工程源码参考完结 前言 《蔚蓝》是一款备受好评的…

信号与系统复习笔记——通讯系统

信号与系统复习笔记——通讯系统 复指数与正弦幅度调制 y ( t ) x ( t ) c ( t ) y(t) x(t)c(t) y(t)x(t)c(t) 上式称为调制&#xff0c;其中 x ( t ) x(t) x(t) 称为 调制信号 &#xff0c;而 c ( t ) c(t) c(t) 称为 载波信号 &#xff0c; y ( t ) y(t) y(t) 称为 已…

Redis高可用(主从复制、哨兵模式和Cluster集群)

文章目录 一、Redis高可用1.持久化2.主从复制3.哨兵4.Cluster集群 二、主从复制1.概念2.作用3.主从复制流程4.配置主从复制 三、哨兵模式1.功能2.作用3.组成4.故障转移机制7.故障模拟8.恢复故障节点 四、Cluster群集1.简介2.作用&#xff08;1&#xff09;数据分区&#xff08;…

Redis常用数据类型

Redis 哈希(Hash)&#x1f349; Redis hash 是一个 string 类型的 field&#xff08;字段&#xff09; 和 value&#xff08;值&#xff09; 的映射表&#xff0c;hash 特别适合用于存储对象。 Redis 中每个 hash 可以存储 232 - 1 键值对&#xff08;40多亿&#xff09; 它…

如何动手用js自己写一个分页?

实现效果 实现代码 function generateTableHead() {const tableHead document.getElementById(table-head);tableHead.innerHTML ;// 添加复选框列的表头const checkboxHead document.createElement(th);const checkbox document.createElement(input);checkbox.type che…

项目部署

#修改表的编码 alter table t_course convert to character set utf8 show create table t_course启动docker&#xff1a; service docker startdocker创建redis设置密码&#xff1a; docker pull redis docker run --name my-redis -p 6379:6379 -e REDIS_PASSWORD<pass…

【大数据趋势】7月2日 汇率,美澳,恒指期货的大数据趋势概率分析。

数据源头之一 : 汇率变化 从程序模拟趋势来看&#xff0c;如果没有干预&#xff0c;极大概率要试探顶部7.375的位置。【位置1】从长期趋势来看&#xff0c;在一个上升通道中长期震荡上行&#xff0c;所以正常应该走2.2的路径【趋势2.2】 因为这轮上涨的动能很大&#xff0c;所…

join on 后面的and 与where 的区别及用法

--- 先把数据导入数据库 CREATE TABLE test_join_where_a ( aid int(0) NOT NULL, aname varchar(255) , atimedate datetime(0) , ascore varchar(255) ); INSERT INTO test_join_where_a(aid, aname, atimedate, ascore) VALUES (1, 张三, 2023-05-03 01:13:30, 8…

环境变量的配置

在我上一篇文章中有写到&#xff0c;在编译和运行Hello World这个文档的时候要使用java.c和java这俩个工具&#xff0c;但是我们却没有转换到这俩个工具所在的磁盘位置&#xff0c;而是直接调用了&#xff0c;那么是怎么实现这一功能的嘞&#xff0c;就有下面的理解 首先wine打…

Linux--给指令起别名:alias

示例&#xff1a;给ls-al起了个别名叫kk​ 注意&#xff1a;起别名只在本次登录有效。

Python爬虫-某政务网站文档爬取,并将正文内容保存在word

前言 本文是该专栏的第1篇,后面会持续分享python爬虫案例干货,记得关注。 地址:aHR0cDovL3d3dy5oZWJlaS5nb3YuY24vc2VhcmNoL3BjUmVuZGVyP3BhZ2VJZD1iOTdhMzg4MzNmNzM0M2NlYmMzMWRlYzQ0NTQ0ZjY4NA== 需求:以某政务网网站为例,采集其正文内容,并将其正文内容以docx格式保…

借助APlayer、MetingJS实现 网页音乐播放器

借助APlayer、MetingJS实现 1、src/publi/index.html引入 <script src"https://cdn.jsdelivr.net/npm/aplayer/dist/APlayer.min.js"></script> <script src"https://cdn.jsdelivr.net/npm/meting2.0.1/dist/Meting.min.js"></scri…

离线安装ffmpeg源码包【详细教程】

今天分享一下ffmpeg源码包的安装过程&#xff0c;针对在没有网络环境下&#xff0c;且不能直接使用yum如何成功安装ffmpeg源码包。博主本人通过正式服务器测试&#xff0c;记录整个安装过程。值得大家收藏 同时&#xff0c;我会分享一下如何使用ffmpeg对H.264格式视频(MP4)进行…

echarts数据可视化模板相互影响

问题 echarts数据可视化模板相互影响 详细问题 echarts数据可视化模板相互影响,笔者使用由CSSJavaScriptHTML实现的echarts数据可视化模板&#xff0c;对于其中的子图(图A&#xff0c;位于boxA.js下与图B位于boxB.js下)进行数据下钻&#xff0c;更改option配置后&#xff0c…

苹果正在研发具备智能家居显示功能的外接显示器,具备低功耗模式

据彭博社记者 Mark Gurman 在他最新一期的 Power On 时事通讯中报道&#xff0c;苹果公司正致力于研发一款新的 Mac 外接显示器&#xff0c;具备智能家居设备显示器的低功耗模式功能。 根据了解&#xff0c;这款显示器将集成iOS设备芯片&#xff0c;与Studio Display不同的是&a…

最短路径相关算法

文章目录 图论中的图属性最短路径算法- Dijkstra算法1. 算法介绍2. 适用场景3. 场景举例 - Bellman-Ford算法1. 算法介绍2. 适用场景3. 场景举例 - Floyd-Warshall算法1. 算法介绍2. 适用场景3. 场景举例 具体实现方案- JGraphT 小结 图论中的图属性 图论中&#xff0c;图的属…

SpringMVC (三) RestFul和控制器

学习回顾&#xff1a;SpringMVC &#xff08;一&#xff09; 什么是SpringMVC 现在我们来看看里面的控制器和路径请求的具体内容吧&#xff01; 一、控制器Controller 控制器复杂提供访问应用程序的行为&#xff0c;通常通过接口定义或注解定义两种方法实现。控制器负责解析用户…

如何在Centos7下安装Nginx

一、Nginx简介 Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器 &#xff0c;同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔赛索耶夫为俄罗斯访问量第二的Rambler.ru站点&#xff08;俄文&#xff1a;Рамблер&#xff09;开发的&#xff0c;公开版本1.19.6…

Self-attention Transformer

参考资料&#xff1a; 《机器学习》李宏毅 1 Self-attention 当模型输入为长度不定的向量序列时&#xff08;如一段文字、一段语音、图模型&#xff09;&#xff0c;要求模型输出为等长的向量序列&#xff08;序列标注&#xff09;时&#xff0c;可以使用 Self-attention S…

文件的概念 + 文件的相对/绝对路径 + 文件IO字符流 / 字节流的读写操作 (java)

文章目录 前言一、文件是什么1.文件的概念2.文件路径1.绝对路径2.相对路径 二、针对文件的IO1.File类2.对文件内容的读写操作1.针对文本文件—— 字符流输入流 Reader类输出流 Writer类 2.针对二进制文件—— 字节流输入流 InputStream类输出流 OutputStream类 总结 前言 本人…