1 简介

依照官方的定义:runC是一个因OCI标准创设并运行容器的CLI tool。

Docker就是基于runC成立的,简单地游说,runC就是docker中最主旨之部分,容器的创,运行,销毁等等操作最后还拿透过调用runc完成。而runC也发出和好之客户端,上边我们以演示如何用runC,以无比精简的法子创制并运行一个器皿。

 

1.1 利用runc运行busybox容器

下载并编译runC

# create a 'github.com/opencontainers' in your GOPATH/src
cd github.com/opencontainers
git clone https://github.com/opencontainers/runc
cd runc

make
sudo make install

  

制造容器的到底文件系统

# create the top most bundle directory
mkdir /mycontainer
cd /mycontainer

# create the rootfs directory
mkdir rootfs

# export busybox via Docker into the rootfs directory
docker export $(docker create busybox) | tar -C rootfs -xvf -

  

使runc的spec命令创造默认的配备文件config.json

runc spec

  

利用runc运行busybox容器

# run as root
cd /mycontainer
runc run mycontainerid
/ # ls
bin  dev  etc  home  proc  root  sys  tmp  usr  var

  

足见见,容器成功运行,此时我们开拓另一个极限观望容器的周转状态

runc list
ID              PID         STATUS      BUNDLE         CREATED                          OWNER
mycontainerid   1070        running     /mycontainer   2017-12-20T12:26:30.159978871Z   root

  

实际,”runc run”是一个复合命令,它富含了容器的制造(runc
create),启动(runc start)以及以剥离后对容器进行的绝迹(runc
delete),从演示的角度看它们是极其直观的。不过于源码分析来说,将创设,启动,销毁五只经过分别,彰着会让所有过程更是简易与爱接受。

脚大家便拿组成源码,对所有容器技术最好基本之一对开展琢磨——
容器是创办、启动和销毁之。

 

2  容器的创设

 

相关文章

网站地图xml地图