当前位置: 首页 > 工具软件 > runC > 使用案例 >

RunC升级

洪高刚
2023-12-01

1、RunC 是什么?
RunC 是一个轻量级的工具,它是用来运行容器的,只用来做这一件事,并且这一件事要做好。
我们可以认为它就是个命令行小工具,可以不用通过 docker 引擎,直接运行容器。
事实上,runC 是标准化的产物,它根据 OCI 标准来创建和运行容器。
而 OCI(Open Container Initiative)组织,旨在围绕容器格式和运行时制定一个开放的工业化标准

2、安装 runC
RunC 是用 golang 创建的项目,因此编译它之前需要在本地安装 golang 的开发环境。
Golang 的安装请参考《打造 golang 开发环境》一文,这里不再赘述。

2.1、安装安全计算模型 libseccomp
RunC 默认的编译配置是支持 seccomp 的,所以我们需要先安装libseccomp,
如果是centos系统的话,就安装 libseccomp-devel:

yum install -y libseccomp-devel

如果是ubuntu系统,就安装libseccomp-dev:

sudo apt install libseccomp-dev

seccomp 的全称为 secure computing mode,即安全计算模型,这是 Linux 内核提供的功能。我们可以通过它来限制容器中进程的行为。关于 seccomp 的更多内容,请参考 Seccomp security profiles for Docker
2.2 安装runc需要go环境才可以安装

 wget https://studygolang.com/dl/golang/go1.16.linux-amd64.tar.gz
 下载地址:
 https://download.csdn.net/download/weixin_45623111/19350105
 tar -C /usr/local -xzf go1.16.linux-amd64.tar.gz
需要的可以添加:
mkdir -p /home/go/src /home/go/pkg /home/go/bin
vi /etc/profile
export GOROOT=/usr/local/go
export GOPATH=/home/gopath
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
配置生效:
   source /etc/profile

检查go是否配置成功

 go env

2.3、获取 runC 的代码

 https://github.com/opencontainers/runc/tags
 cd /usr/local/runc-1.0.0-rc95/
 make && make install

3、升级完毕

[root@localhost app]# runc -v
runc version 1.0.0-rc95
spec: 1.0.2-dev
go: go1.16.4
libseccomp: 2.3.1
 类似资料: