Podman

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

Podman 配置文件简单说明

/etc/containers/registries.conf 是用于配置容器镜像注册库的配置文件,用于指定在补全不包含注册库或域名部分的镜像名称时应查询哪些容器注册库。

Podman 用于存储自定义容器注册表TLS配置的目录 containers-certs.d

容器注册表的自定义 TLS 配置可通过在 $HOME/.config/containers/certs.d 或 /etc/containers/certs.d 下创建目录实现。该目录名称必须与注册表的主机名:端口号对应(例如 my-registry.com:5000)。

Podman 注册表认证文件 containers-auth.json

用于控制容器镜像注册表身份验证的JSON格式配置文件。主文件(读写权限)在Linux系统中存储于 ${XDG_RUNTIME_DIR}/containers/auth.json;在Windows和macOS系统中存储于 $HOME/.config/containers/auth.json。

Podman 系统注册表配置文件 containers-registries.conf

CONTAINERS-REGISTRIES 配置文件是用于容器镜像注册表的全局配置文件,其格式为 TOML。TOML(Tom's Obvious, Minimal Language)是一种易读、强类型的配置文件格式,设计目标是 “为人设计的配置语言”,比 JSON 更贴近手写习惯,比 YAML 更简洁无歧义,被广泛用于容器配置(如 Podman 的 registries.conf)、编程语言配置(如 Rust/Cargo)、工具链配置(如 Hugo、Terraform)等场景。

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)证书,以便其能用于各种使用场景。

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