Podman教程
近年来,容器虚拟化变得越来越重要。由于 2013 年发布的 Docker,该技术变得流行起来,现在该技术已成为用于管理虚拟 virtual namespaces的各种工具的基本组件件最初设。Podman 是最有趣的解决方案之一。该软计为CRI-O 的调试工具,旨在简化 Kubernetes 集群的工作,该软件已迅速成为一个用于管理容器的广泛引擎。
命名空间使您能够将选定的代码元素(例如类)分组到一个容器中。
详细了解是什么让 Podman 如此特别以及如何使用容器工具。
Podman(Pod Manager 的缩写)是一个容器引擎,于 2018 年 2 月首次发布。它由美国软件公司Red Hat开发,该公司主要为一系列开源项目提供高性能企业解决方案,例如红帽企业 Linux (RHEL) 或OpenStack。基于Docker的经验,Podman 最初并非设计为独立引擎,而是旨在作为 CRI-O 的调试工具。这个计划很快就被放弃了。
容器软件在许多方面与 Docker 相似,并使用与行业标准相同的命令行解释器。这使您能够在 Podman 中使用典型的 Docker 命令——只需将别名设置为alias docker=podman。因此,在大多数情况下,从 Docker 切换到 Podman 相对容易。关键区别在于 Podman不再使用中央守护进程作为各个容器的控制实例。这使您无需 root 权限即可访问各种虚拟化应用程序。
守护进程是指Unix/Linux操作系统中的一种程序,它在后台运行,提供一定的服务和进程。
Podman 可在所有常见的 Linux 发行版上运行,例如 Ubuntu、Fedora、CentOS、Debian 和 RHEL 以及 Raspbian(Raspberry Pi 操作系统)。在这里,通常可以通过各自系统的包管理直接安装引擎。
Podman:结构和功能
除了取消中央守护进程外,Podman 的主要区别特征还包括“ pods ”。这些基于 Kubernetes pod 概念的 pod 是指共享 Linux 命名空间中共享特定资源的多个容器组。这样,可以灵活地组合各种虚拟化应用程序。
如前所述,可以以没有 root 权限的普通用户身份在主机上运行各个容器——进程仅在容器内由 root 控制。这是可能的,因为 Podman 访问 Linux 内核的用户命名空间,该命名空间为进程分配特殊权限和用户 ID。容器实际上以管理员身份运行这一事实为虚拟化的 Podman 环境提供了高级别的安全性。****
Infra Container代表 pod 的核心。他们专门负责 Pod 的功能,因此管理和确保个人资源,如命名空间、网络端口、CPU、工作内存等。此外,Podman 使用用 C 编写的Conmon监控工具来管理 Pod。例如,该工具监控各个虚拟化组件并保护日志。该工具还充当与相应容器终端的接口。Podman 使用软件runC作为容器的运行时;它还用于许多其他解决方案,如 Docker 或 rkt。
一个 Podman pod 可能包含大量容器——以图中所示的两个容器为例。
Podman 教程:Podman 的第一步
在介绍了 Podman 的基础知识之后,我们现在将在下面的 Podman 教程中总结容器引擎入门的要点。
在 Linux 上安装 Podman
Podman 是一个用于运行 Linux 容器的软件程序。该工具可以快速轻松地安装在 CentOS、Ubuntu、Debian 等 Linux 发行版上。在大多数情况下,可以直接在相应系统软件的包管理中找到安装包,并使用典型的终端命令进行安装。
Debian, Ubuntu, Raspbian:
sudo apt-get update -qq
sudo apt-get -qq -y install podman
Fedora、CentOS、亚马逊 Linux 2、RHEL 7:
sudo yum -y install podman
OpenSUSE:
sudo zipper install podman
在 Windows 和 macOS 上安装 Podman
Podman 在 Linux 环境中如鱼得水。但您也可以在使用 Windows 或 macOS 操作系统的设备上使用容器引擎。这需要通过主机上的虚拟机或通过网络访问这些设备上的Linux 安装。********
如果您有访问权限,则只需要一个 Podman 远程客户端即可与 Podman 后端建立 SSH 连接。
容器镜像管理如何与 Podman 协同工作
在功能和语法方面,Podman 主要基于 Docker。因此,在配置所需的容器时,您可以使用大量现成的 Docker 镜像——也称为Docker Hub。例如,使用pull命令,您可以下载****最新版本的 Ubuntu等应用程序镜像:
podman pull hub.docker.com/_/ubuntu:latest
个人镜像官方存放路径为本地路径 /.local/share/containers/ ;这里每个用户都有自己的命名空间,这意味着容器设置与根设置是分开的,例如。使用以下命令获取本地存储图像的概览:
podman images
使用 Linux 典型的“sudo”前缀获取根映像列表:
sudo podman images