Podman

Podman(POD MANager)是一个开源的、无守护进程(daemonless)的容器引擎,由 Red Hat 主导开发。它旨在提供与 Docker 兼容的命令行体验,用于在 Linux 系统上开发、管理和运行 OCI(Open Container Initiative)兼容的容器和 Pod。

Podman 在 Rootless 环境下的基本设置和使用

在允许没有root权限的用户运行Podman之前,管理员必须安装或构建Podman并完成以下配置。

Podman 的 Golang 绑定

Podman Go 绑定是一组函数,允许开发者在其基于 Go 的应用程序内部执行 Podman 操作。这些 Go 绑定连接到 Podman 服务,该服务可在本地或远程机器上运行。您可以执行多种操作,包括拉取和列出镜像、启动、停止或检查容器。目前,Podman 存储库提供了针对镜像、容器、Pod、网络和清单等操作的绑定。

Podman 套接字激活

套接字激活的概念机制是通过systemd创建套接字(例如TCP、UDP或Unix套接字)来实现的。当客户端连接到套接字时,systemd会立即启动为该套接字配置的systemd服务。新启动的程序会继承套接字的文件描述符,从而能够接受传入连接(即执行系统调用accept())。此描述对应于systemd套接字配置的默认值Accept=no,该设置允许服务接受套接字连接。

Podman 性能指南

Unknown SummaryPodman 的性能可能受到多种因素的影响,例如:指定的 Podman 命令行选项和配置;OCI 运行时环境;主机文件系统;容器镜像;更改这些因素中的任何一项,都可能对您系统上 Podman 的性能产生明显影响,也可能不会产生任何影响。

Podman 的基本设置与使用

Podman 是 libpod 库提供的一项实用工具。它可用于创建和维护容器。下面的教程将教你如何设置 Podman 以及使用 Podman 执行一些基本命令。若您使用的是 Mac 或 Windows 电脑,则应遵循 Mac 和 Windows 教程来设置远程 Podman 客户端。注意:代码示例旨在以非root用户身份运行,并在需要root权限提升时使用sudo命令。

无root权限的Podman的缺点

以下列表归类了以非root用户身份运行Podman时已知的缺陷与异常情况。尽管当前功能尚可正常使用,仍有若干待处理事项正在考虑中。这些拟议变更处于不同程度的设计与开发阶段。

适用于macOS和Windows的Podman远程客户端

在 Windows 上运行 Podman,请参阅Windows 版 Podman 指南,该指南采用推荐方案——由 Podman 管理 Linux 后端。Mac 用户请参阅 Podman 安装说明。本指南涵盖在自定义 Linux 虚拟机或远程外部 Linux 系统上使用 Podman 的高级用法。

如何使用Podman签署和分发容器镜像

对容器镜像进行签名源于这样的动机:仅信任专用镜像提供商,以减轻中间人攻击(MITM)或针对容器注册表的攻击。签名镜像的一种方式是使用 GNU 隐私卫士(GPG)密钥。该技术通常兼容任何符合 OCI 标准的容器注册库(如 Quay.io)。值得一提的是,OpenShift 集成容器注册库开箱即支持此签名机制,从而无需单独存储签名。

如何将libpod用于自定义/衍生项目

libpod 如今是一个 Golang 库和一个命令行界面。你选择的接口各有优劣。

使用 Buildah 加快容器镜像构建速度

数月前,我曾撰文探讨如何在容器内部加速容器构建过程。该文重点关注容器镜像拉取速度,并介绍了通过主机卷挂载及Buildah的“附加存储”机制预填充镜像存储库的多种方案。Buildah 是一款命令行工具,可快速轻松地构建符合开放容器倡议(即兼容 Docker 和 Kubernetes)的镜像。它易于集成到脚本和构建管道中,最重要的是,构建镜像时无需运行容器守护进程。

Podman 安装证书颁发机构

组织可以创建自己的本地证书颁发机构(CA),也可以从第三方获取。这可能意味着需要不止一个证书,例如一个或多个中间证书和一个根证书。无论哪种情况,都必须添加证书颁发机构(CA)证书,以便其能用于各种使用场景。

Podman 检查点

检查点目前仅适用于 root 容器。因此,您必须以 root 身份运行示例容器。您可以在每个命令前加上 sudo,也可以事先通过 sudo -i 切换到 root 用户。

Podman 通过部分拉取更快地拉取容器镜像

你有没有想过,为什么使用像Podman这样的容器工具从容器 registry 拉取容器镜像需要这么长时间?这个Fedora基础镜像相当小巧,在高速网络连接下仅需20秒即可下载完成。我听说有些庞大的镜像需要数分钟才能拉取完毕。更糟糕的是,每次Fedora镜像——或任何镜像——更新时,你都必须重新拉取整个镜像,而非仅更新差异部分。

eStargz: 用于延迟拉取的容器镜像层的标准兼容扩展

本文档描述了针对容器镜像gzip层(即OCI镜像规范中的application/vnd.oci.image.layer.v1.tar+gzip和Docker镜像规范中的application/vnd.docker.image.rootfs.diff.tar.gzip)的扩展方案,用于实现延迟拉取功能。该扩展方案命名为eStargz。eStargz 是一款向后兼容的扩展程序,这意味着镜像可推送至与扩展无关的注册表,并在与扩展无关的运行时环境中运行。

使用Podman配置容器网络

Podman 的网络栈使用两种不同的方式,具体取决于容器是无 root 权限(rootless)还是有 root 权限(rootfull)。当是有 root 权限(rootfull)时,即由 root(或同等权限)用户运行,Podman 主要依赖于 container-networking-plugins 项目。当是无 root 权限(rootless)时,即由普通用户运行,Podman 则使用 slirp4netns 项目。

首页 1 2 下一页 末页 共21/2页
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
其他应用
公众号