CentOS 7 上编译安装 Podman 3.4.4

简介: CentOS 7 上编译安装 Podman 3.4.4

ntos 因为gpgme-devel版本过于老旧,所以无法支持Podman 4.x,支持最高版本为 3.4.4

目前Centos 7extras源安装 podman,安装的版本为 v1.6.4,而截止目前(2022年4月2日),podman最新版本为: v4.0.2,版本差距迭代太大,而github发布的版本中没有linux版本。所以我打算编译安装一下。


其中包含以下内容


  1. golang 安装(当前最新版本: 1.18)
  2. conmon 安装(当前最新版本: 2.1.0)
  3. runc 安装(当前最新版本: 1.1.1)
  4. podman安装(centos 7支持最高版本: 3.4.4)



centos extras podman 版本


so ,要是用较高版本,则需要我们自行构建一下


为避免安装过程中出现为止问题,请临时关闭selinux




在centos 7上安装podman 3.4.4


在Centos 7 上安装golang

如果你的机器环境上没有golang环境的话,则需要先安装golang,版本需要在 v1.6 以上

查看golang版本



安装相关依赖


conmon 和 runc 安装


conmon


查看conmon版本


conmon是用C语言编写的工具,用于单个容器的管理器。和 OCI runc 或者 OCI crun通信

当容器运行时,conmon会做以下事情


  1. 提供一个用于附加到容器的套接字,保持打开容器的标准流并且通过套接字转发它们
  2. 将容器流的内容写入日志文件,以便在容器退出后读取它们




runc

查看runc版本

runcgolang写的关于CLI工具,用于根据OCI规范在 Linux上生成和运行容器。




设置CNI网络

默认情况下,CNI网络配置文件下载好后,无需配置,即可使用 podman

registries.conf: 容器镜像注册配置文件,文件格式为 TOML

policy.json:证书安全策略文件,文件格式为 JSON



安装podman


查看podman版本

podman支持可选的构建便签,用于编译支持各种功能,将要构建的标签添加到make选项,BUILDTAGS必须设置变量,例如 BUILDTAGS="selinux seccomp"

image.png



测试启动一个nginx容器

image.png


我们查看 系统占用:8081端口信息,我们会发现,进程是 conmon

image.png




心得体会


1、 最开始安装的时候,安装的是目前最新版本 v4.0.2,结果在make过程中抛错


image.png



github上了解到 是gpgme-devel引起的,主要原因还是 Centos 7太老了。

github.com/containers/…

image.png

相关文章
|
5月前
|
应用服务中间件 Linux 网络安全
CentOS 7.4源码编译nginx1.12 并且隐藏nginx的版本
CentOS 7.4源码编译nginx1.12 并且隐藏nginx的版本
115 0
|
5月前
|
Linux 开发工具 C语言
Centos8下编译安装最新版ffmpeg解决方案(含Centos8换源阿里云)
Centos8下编译安装最新版ffmpeg解决方案(含Centos8换源阿里云)
856 3
|
4月前
|
Linux 数据库管理 Python
CentOS7编译安装Python3.10(含OpenSSL1.1.1安装),创建虚拟环境,运行Django项目(含sqlite版本报错)
CentOS7编译安装Python3.10(含OpenSSL1.1.1安装),创建虚拟环境,运行Django项目(含sqlite版本报错)
676 4
|
8天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置服务等,并与使用 RPM 包安装进行了对比,帮助读者根据需求选择合适的方法。编译源码安装虽然复杂,但提供了更高的定制性和灵活性。
64 2
|
10天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤
【10月更文挑战第7天】本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据自身需求选择合适的方法。
19 3
|
14天前
|
安全 Linux 编译器
Centos 7.9如何使用源码编译安装curl最新版本
通过上述步骤,您就能在CentOS 7.9上成功地从源代码编译并安装curl的最新版本。这种方法不仅提供了灵活性,允许您定制编译选项,还确保了软件的最新功能和安全更新得到应用。
26 1
|
2月前
|
Linux 开发工具 C语言
centos7编译安装python3
centos7编译安装python3
|
2月前
|
分布式计算 Java Hadoop
centos7编译安装Hadoop3
centos7编译安装Hadoop3
|
2月前
|
关系型数据库 MySQL Linux
【一键解锁神秘力量!】CentOS 7 通过编译源码方式安装 MySQL 数据库 —— 从零到英雄的数据库安装实战秘籍!
【8月更文挑战第9天】随着业务增长,对数据库的需求日益提高。在 CentOS 7 中,通过编译源码安装 MySQL 可提供更高定制性和灵活性。本文详细介绍从准备环境、下载源码、配置编译参数到安装 MySQL 的全过程,并对比 RPM 包安装方法,帮助读者根据需求选择合适方案。实践时需注意备份数据、选择合适版本、确保安全性和调优性能等要点。
183 1
|
4月前
|
Linux C语言 C++
Linux 下centos 查看 -std这个编译时命令 是否支持 C17
Linux 下centos 查看 -std这个编译时命令 是否支持 C17
139 2