Podman介绍
Podman全称Pod Manager(珀德,迈那吉儿),灵感来自Kubernetes(库博内茨)的Pod概念,是由RedHat主导开发的容器运行管理工具,用来替代Docker,功能上和Docker基本一致,可直接替代Docker管理容器和镜像。无需守护进程,支持root权限运行,Podman的架构更轻量、更安全。

| 特性 | Podman | Docker |
|---|---|---|
| 守护进程 | 无-不需要 | 必须运行 |
| 默认权限 | rootless模式 | 操作需root权限 |
| Swarm | 不支持 | 原生支持 |
| Kubernetes | 直接生成YAML/集成 | 需额外配置 |
| 兼容性 | 兼容docker | 不兼容Podman |
| 系统集成 | 原生支持,可一键生成服务 | 需额外配置 |
| 跨平台 | Podman Desktop(Windows/Mac) | Docker Desktop(Windows/Mac) |
| 企业支持 | Red Hat OpenShift | Docker Enterprise |

#普通用户直接运行,无需配置
podman run -d nginx
#容器进程就是当前用户子进程
ps aux | grep nginx
#显示为当前UID,非rootDocker
#默认需要root或docker组(有root等效风险)
sudo docker run -d nginx
#Rootless实验性,需复杂配置
dockerd-rootless-setuptool.sh install2.Pod支持(Kubernetes原生)
Podman直接支持Pod概念
#创建 Pod(类似Kubernetes Pod)
podman pod create --name mypod -p 8080:80
#在Pod中添加容器
podman run -d --pod mypod --name frontend nginx
podman run -d --pod mypod --name backend myapp
#查看Pod
podman pod ps
podman pod inspect mypod
#生成Kubernetes YAML
podman generate kube mypod > deployment.yaml
#直接部署到OpenShift/K8s
podman play kube deployment.yamlDocker
无原生Pod概念,需借助docker-compose或外部编排。
3.Systemd集成
Podman原生支持生成systemd单元
#容器作为系统服务运行
podman generate systemd --new --name mycontainer > /etc/systemd/system/mycontainer.service
systemctl enable --now mycontainerDocker
需手动编写或使用第三方工具。
| 操作 | Podman | Docker |
|---|---|---|
| 运行容器 | podman run -d nginx | docker run -d nginx |
| 查看容器 | podman ps | docker ps |
| 构建镜像 | podman build -t myimg . | docker build -t myimg . |
| 拉取镜像 | podman pull nginx | docker pull nginx |
| 查看日志 | podman logs | docker logs |
| 进入容器 | podman exec -it | docker exec -it |
| 创建Pod | podman pod create | 无 |
| 生成K8s YAML | podman generate kube | 无 |
#拉取同一个Nginx镜像
docker pull nginx# Docker
podman pull nginx# Podman
#以普通用户身份启动容器
#podman无需sudo
#Docker同样操作通常需:sudo docker run ...
podman run -d -p 8080:80 nginx
#创建容器(Podman原生支持)
podman pod create --name myapp
podman run -d --pod myapp nginx
podman run -d --pod myapp redis| 场景 | 推荐 | 原因 |
|---|---|---|
| 个人开发学习 | Podman | 无需守护进程,更安全 |
| 企业生产服务 | Podman | Red Hat官方支持,OpenShift集成 |
| 需要Docker Swarm | Docker | Podman不支持Swarm |
| Windows/Mac桌面使用 | Docker Desktop | Podman Desktop用户体验尚未完善 |
| 已有Docker脚本 | Podman | 兼容性好,迁移成本低 |
| Kubernetes原生开发 | Podman | YAML流程完善 |
| 涉及GPU | 两者都可以 | 无太多差异 |
经常使用Phpmailer来发信,作为事件的通知渠道,遇到过各种情况的问题,总结了一些经验和注意事项分享给大家:1.phpmailer使用ssl发信,无需在服务器中开启任何端口,无需在防火墙中开启端口;2.出现SMTP Error: C...
有客户咨询丁老师,他们公司有一个APP,希望也上架微信小程序、抖音程序,想问下APP可以转换为小程序吗?丁老师来给你解答。APP是否可以转小程序?可以。只要有该APP的源码,就可以实现开发转换为微信、抖音、小红书、支付宝、百度等小程序。...
这几年AI技术的发展已经达到新的高度,从提高个人生产力到企业操作效率的各个方面,AI都扮演着不可或缺的角色。无论是进行语言交流、内容创作、或是任务管理,都有相应的AI工具可以帮助我们更加轻松地完成工作。以下是丁老师觉得不错的AI工具推荐...
最近更换了电脑,装好了git,在对项目同步时提示is not owned by current user的错误,如图:仔细研究了下,这是因为创建项目的电脑git和当前电脑的用户权限不同导致的。直接说解决方法吧:1.进入C盘,C:\Use...
fontawesome所有图标class类名单,适用于4.7.0版本。总计有593个图标class类(包含别名):fa-500pxfa-address-bookfa-address-book-ofa-address-cardfa-addre...
普通账号个人认证号企业认证号蓝色认证标识薯条推广聚光平台效果广告普通应商业合作以KOL/KOC身份和品牌合作以品牌方身份发起起合作开设店铺个人店铺或个体户(不支持港澳台公司申请)旗舰店店或专卖店(支持港澳台公司申请)主动私信每天10位陌生用...
从事技术开发的同学都知道,不管是做网站也好,开发各种业务系统也好,目前大多数企业部署的web环境是-操作系统:Linux,数据库:Mysql/MariaDB/PostgreSQL/MongoDB,Web容器:Nginx/Tomcat/Apa...
windows11更新后,不管是桌面的右键,还是文件上点右键,都非常地别扭,而且也非常的卡顿。在网上找了一堆方法,都不管用,经过不懈努力,终于找到了真正能恢复经典版右键的方法。废话不多说,具体方法如下:1.以管理员方式运行CMD打开后,在C...