下一代容器技术podman简介及安装

下一代容器技术podman简介及安装

Linux容器简介

Linux容器 是与系统其他部分隔离开的一系列进程。运行这些进程所需的所有文件都由另一个镜像提供,这意味着从开发到测试再到生产的整个过程中,Linux 容器都具有可移植性和一致性。因而,相对于依赖重复传统测试环境的开发渠道,容器的运行速度要快得多。容器比较普遍也易于使用,因此也成了 IT 安全方面的重要组成部分。

Podman 简介

Podman 是一个开源的容器运行时项目,可在大多数 Linux 平台上使用。Podman 提供与 Docker 非常相似的功能。正如前面提到的那样,它不需要在你的系统上运行任何守护进程,并且它也可以在没有 root 权限的情况下运行。

Podman 可以管理和运行任何符合 OCI(Open Container Initiative)规范的容器和容器镜像。Podman 提供了一个与 Docker 兼容的命令行前端来管理 Docker 镜像。[3]

Podman 不足之处:

  • 因为没有类似 docker daemon 守护进程,所以不支持 --restart 策略,不过使用 k8s 编排就不存在这个问题

Centos8 去除了 Docker 作为默认的容器化管理工具,使用 Podman、Buildah、Skopeo 进行了替换。


podman是什么

podman系列主要包含三个命令podman、buildah、skopeo,其中podman本身负责运行、停止、管理容器,buildah负责构建容器镜像、skopeo负责与remote repo交互,拉取或推送镜像。但我们使用时不必这么麻烦,redhat为了方便用户从docker迁移到podman,在podman上几乎实现了大多数docker的常用命令,podman会替你转调buildah和skopeo,你甚至可以直接 alias docker=podman,然后像使用docker一样使用podman。

Podman

Podman可以替换Docker中了大多数子命令(RUN,PUSH,PULL等)。Podman不需要守护进程,而是使用用户命名空间来模拟容器中的root,无需连接到具有root权限的套接字保证容器的体系安全。Podman专注于维护和修改OCI镜像的所有命令和功能,例如拉动和标记。它还允许我们创建,运行和维护从这些图像创建的容器。

Buildah

Buildah用来构建OCI图像。虽然Podman也可以用户构建Docker镜像,但是构建速度超慢,并且默认情况下使用vfs存储驱动程序会耗尽大量磁盘空间。 buildah bud(使用Dockerfile构建)则会非常快,并使用覆盖存储驱动程序。Buildah专注于构建OCI镜像。 Buildah的命令复制了Dockerfile中的所有命令。可以使用Dockerfiles构建镜像,并且不需要任何root权限。 Buildah的最终目标是提供更低级别的coreutils界面来构建图像。Buildah也支持非Dockerfiles构建镜像,可以允许将其他脚本语言集成到构建过程中。 Buildah遵循一个简单的fork-exec模型,不以守护进程运行,但它基于golang中的综合API,可以存储到其他工具中。

Skopeo

Skopeo是一个工具,允许我们通过推、拉和复制镜像来处理Docker和OC镜像。


podman安装

1.在Ubuntu计算机上启动一个新的终端会话并运行下面的命令

sudo apt update

sudo apt -y install software-properties-common

sudo add-apt-repository -y ppa:projectatomic/ppa

2.添加存储库后,继续安装Podman:

sudo apt -y install podman

安装后,你可以显示有关主机、当前存储统计信息和podman构建的信息:

# podman info

3.更新podman 阿里源

vim /etc/containers/registries.conf

[[registry]]

prefix = "docker.io"

location = "uyah70su.mirror.aliyuncs.com"

4.拉取alpine 镜像调试

5.查看镜像

发布于 2020-09-01 13:38