当前位置: 首页 > news >正文

[容器] Podman : 一款新型的容器引擎与容器管理工具

1 概述: Podman

  • 当我们谈论容器时,我们首先想到的默认工具就是Docker。但自从 Docker 诞生以来,容器领域已经有了很多发展,特别是在容器安全方面。Podman 是解决安全问题的项目之一。

  • Podman(POD Manager)是一个开源的无守护进程daemonless容器引擎,用于管理容器、容器镜像、容器卷和网络。

  • 它兼容 OCI 标准,可以运行 Docker 镜像,并且设计上与 Docker CLI 命令高度兼容。

什么是PodMan?比 Docker 更安全的竞品

  • Podman(POD Manager)是一款符合OCI标准的容器管理工具,提供与 Docker 类似的容器管理功能。

  • podman 的最佳功能之一是它能够运行无根容器

无根容器是在没有根权限(普通用户)的情况下运行和管理容器的概念。
安全角度来看,无根容器即使在容器受到攻击者破坏的情况下也不允许根访问,从而增加了额外的安全层。
您可以在此处了解【无根容器】的优点。

注意: Docker 也支持无根模式,但有一些限制。您可以在这里阅读相关内容。

  • Podman 也是无守护进程的(与 docker 不同)。

这意味着它没有守护进程并直接与 runc 交互(运行基于 OCI 规范的容器)。
在文章的最后,我补充了Docker 和 Podman 之间的区别。
另外,假设 Linux 中有两个用户。用户 a和用户 b。用户 a使用 podman创建的容器不能被用户 b修改,反之亦然。

2 安装使用

2.1 安装 Podman

  • 前往官方 Podman 安装文档。 在这里您可以找到 Windows、MAC 和 Linux 版本的所有安装命令。

注意:对于 Windows 和 Mac,podman 需要虚拟机来部署容器。

2.1.1 安装 on Ubuntu

Ubuntu 20.10 为例

  • 对于Debian 11 和 ubuntu 20.10 或更高版本,您可以使用以下步骤。
sudo apt-get install runc -y
sudo apt-get -y install podman
  • 对于 CentOS 7:
sudo yum -y install podman
  • 对于 MAC,安装 Podaman; 然后, 使用 podman machine 命令初始化基于QEMU的虚拟机。
brew install podman
podman machine init
podman machine start
  • 安装后,使用以下命令验证安装。
podman version

2.2 Podman 容器注册表配置

  • 默认情况下,Podman 配置有两个容器注册表。
  • https://quay.io/
  • https://hub.docker.com/
  • 您可以在以下文件中找到默认的 Podman 容器注册表配置。

/etc/containers/registries.conf

image

  • 您可以将自定义或私有容器注册表添加到此配置。

例如,Google容器注册表、AWS ECR、自托管私有注册表等。

  • 如果您想使用registry中的其他私有容器镜像,可以使用命令登录registry podman

例如,要登录 docker hub:

podman login docker.io

登录后,您将能够使用podman命令从 docker hub 中提取容器镜像

  • 如果您希望为【特定用户】拥有不同的【注册表配置】,您可以registries.conf在用户目录中创建单独的容器注册表信息。
$HOME/.config/containers/registries.conf

Podman 容器存储

  • 每个系统用户都有自己的容器存储。

这意味着,如果您尝试从不同的用户登录中提取映像,它将从【远程注册表】而不是【本地映像】中提取【映像】。

  • 例如,
  • 对于root 用户,容器存储在 /var/lib/containers/storage 目录中
  • 对于其他用户,容器存储在 $HOME/.local/share/containers/storage/ 目录中

使用 Podman 管理容器

  • 您可以像使用 docker 一样管理容器。但是,我们将使用 podman 作为带有类似于 docker 标志的命令,而不是 docker 命令。

  • 此外,您可以使用任何没有 sudo 权限的用户运行 podman 命令。

拉取镜像

  • 首先,让我们尝试拉取镜像

默认情况下,podman 首先在 quay.io 中搜索镜像,然后在 docker.io 中搜索。
如果 quay.io 中不存在映像,podman 会在 docker.io 中搜索并拉取该映像。
因此,最好指定注册表端点的完整映像名称。例如:

podman pull docker.io/nginx
podman pull quay.io/quay/busybox

创建并运行容器

  • 让我们从 dockerhub 注册表运行 Nginx 容器。

以下命令运行具有主机端口映射的 Nginx 容器 8080

podman  run --name docker-nginx -p 8080:80 docker.io/nginx
  • 如果您看到的话,上面的 podman 命令相当于 docker 命令和标志。

  • 无根模式(【普通用户模式】)下不能使用低于 1024 的端口。

因为【普通用户容器命名空间】确实具有映射这些端口的权限。
如果您想使用 podman 映射小于 1024 的主机端口,您应该以 root 用户或使用 sudo 权限运行 podman,如下所示:

sudo podman run --name docker-nginx -p 80:80 docker.io/nginx

检查映射的端口

  • 您可以使用以下命令检查映射的端口。-l 返回最新容器的详细信息。
podman port -l

检查容器

  • 您可以使用检查命令检查容器。
podman inspect -l

其他命令

  • 其他停止、移除和删除容器的命令与 docker 命令的工作方式相同。
  • 举几个例子:
podman images
podman ps
podman ps -a
podman stop <container-name>
podman rm <container-name>

帮助手册(help)

  • 运行 help 命令以了解所有可用的 podman 命令。
podman --help

使用 Podman 构建容器镜像

Y 推荐文献

  • Docker 基础教程(概念/原理/基础操作) - 博客园/千千寰宇

X 参考文献

  • 图解Podman从入门到精通 - 掘金
  • 什么是Podman?能否替代Docker?Podman快速入门 - Zhihu
http://www.gsyq.cn/news/76183.html

相关文章:

  • 从0构建深度学习框架——揭秘深度学习框架的黑箱
  • SVPWM基础
  • 实用工具:担心腾讯ACE把你的硬盘扫坏了?用DiskGenius一分钟检测硬盘是否损坏
  • Win10最终版下载 d485系统站
  • AI元人文构想全维解读:从意义行为原生到文明共生体
  • fhq-Treap学习笔记
  • 解码常对象与运算符重载
  • 实操教程:MindSpore中确定神经网络隐藏层与输出层神经元数量
  • 一文读懂MindSpore的construct方法:神经网络的“自动流水线”
  • why North Korean are extremely anti-American, and think Nihon is a puppet of A.
  • 可变参数模版中的折叠表达式
  • scikit-learn 能否做深度学习?——兼谈不同神经元数量的模型对比实验实现
  • 深入解析USB侦探:数字取证数据流分析技术
  • 深入解析:Spring Boot 3.2 高性能架构实战:虚拟线程、原生镜像与响应式编程全解析
  • CMake-模块化
  • HELLDIVERS 2 地狱潜兵 2 缩小体积至22.54G 教程
  • Milvus GUI ATTU Docker 容器化部署指南
  • 人工神经元输入机制深度解析:从理论基础到工程实践的全面指南
  • 安卓页面的布局和生命周期(新手村第三篇) - 详解
  • 本地AI模型API网址添加到Open WebUI的方法
  • P14660 你不孤单,我们都在 题解
  • [开源项目] 蜜蜂记账 v2.2 发布:暗黑模式、标签系统、预算管理等 10+ 新功能
  • 【09】Word文档处理工具
  • 谁在主导“芯片战争”
  • 2025深圳CNC加工实力榜:金丰业五金塑胶以精密智造领跑,六家本土技术标杆企业核心优势深度解析
  • 岐金兰意义行为原生理论与AI元人文价值操作系统研究
  • 2025东莞包装材料厂家实力榜:共晟包装以可降解防静电技术领跑,八大环保纸袋品类深度解析
  • chat2db邀请码
  • 2025 最新高端艺术漆品牌 TOP10推荐!技术创新 + 美学表达权威榜单发布,重新定义墙面装饰新高度,行业专业数据,行业口碑榜及选择指南
  • 《密码系统设计》第十一周预习报告