安装工具链

在上一节,我们对 Podman、Buildah 和 Skopeo 进行了概要介绍。这一节,我们来看看如何把它们安装到现有的系统中。对于 CentOS/Fedora、Debian/Ubuntu、Arch Linux 等主流 Linux 发行版来说,这些工具都提供了二进制包。为简便起见,我们仅介绍通过包管理器安装的方法,因为这是最为快捷和省时的安装方式。另外,对于 CentOS 而言,因为其中的包较旧,所以还需要额外安装一些包。

通过包管理器安装

在 CentOS 或 Fedora 中,我们可以利用 yumdnf 包管理器来安装 Podman、Buildah 和 Skopeo。以 CentOS 7.6 为例,我们执行以下命令将安装这些工具:

xiaodong@centos:~$ sudo yum install podman buildah skopeo

待安装完成,我们再执行下面的命令来验证它们确实可用:

xiaodong@centos:~$ podman --version
podman version 0.12.1.2
xiaodong@centos:~$ buildah --version
buildah version 1.5 (image-spec 1.0.0, runtime-spec 1.0.0)
xiaodong@centos:~$ skopeo --version
skopeo version 0.1.31

对 Debian 或 Ubuntu 而言,情况稍有不同,我们需要先添加一个额外的仓库源。以 Ubuntu 18.04 为例,我们执行以下命令把 ppa 仓库源添加到系统:

xiaodong@ubuntu:~$ sudo apt install dirmngr software-properties-common
xiaodong@ubuntu:~$ sudo add-apt-repository ppa:projectatomic/ppa

然后,我们在 Ubuntu 上安装这些工具,并验证其版本:

xiaodong@ubuntu:~$ sudo apt update
xiaodong@ubuntu:~$ sudo apt install podman buildah skopeo
xiaodong@ubuntu:~$ podman --version
xiaodong@ubuntu:~$ buildah --version
xiaodong@ubuntu:~$ skopeo --version

在 Arch Linux 上,我们可以通过 pacman 安装这些工具,安装完毕后同样进行验证:

xiaodong@arch:~$ sudo pacman -S podman buildah skopeo
xiaodong@arch:~$ podman --version
xiaodong@arch:~$ buildah --version
xiaodong@arch:~$ skopeo --version

CentOS 额外安装

因为 CentOS 7.6 中的 shadow-utils 包比较旧,其中没有 newuidmapnewgidmap,而且也缺少 slirp4netns,所以需要执行下面的额外安装步骤[1]

xiaodong@centos:~# curl -o /etc/yum.repos.d/vbatts-shadow-utils-newxidmap-epel-7.repo  https://copr.fedorainfracloud.org/coprs/vbatts/shadow-utils-newxidmap/repo/epel-7/vbatts-shadow-utils-newxidmap-epel-7.repo
xiaodong@centos:~# yum install shadow-utils46-newxidmap slirp4netns

  1. https://copr.fedorainfracloud.org/coprs/vbatts/shadow-utils-newxidmap/ ↩︎