中国领先的IT技术网站
|
|

2.4.2 runC的使用

《Docker从入门到实战》第2章Docker简介,第1章已经大致了解了容器技术,在本章节中,我们将进一步认识Docker的架构,以及了解Docker与其他容器技术的区别。本节为大家介绍runC的使用。

作者:黄靖钧来源:机械工业出版社|2017-10-17 18:31

CTO训练营 | 12月3-5日,深圳,是时候成为优秀的技术管理者了


2.4.2  runC的使用

前面说过容器是提供一个与宿主机系统共享内核但与系统中的其他进程资源相隔离的执行环境。runC通过调用libcontainer包对namespaces、Cgroups、capabilities以及文件系统的管理和分配来“隔离”出一个上述执行环境,相当于一个去除了如镜像、Volume等高级特性的“简化版”Docker,runC以最朴素简洁的方式达到符合OCF标准的容器管理实现。

因为Docker是按照OCF(开放容器格式)开发的,所以runC可以读取运行Docker的容器。

runC运行时需要有rootfs,最简单的就是本地已经安装好了Docker,通过docker pull下载一个基本的镜像:

  1. $ docker pull busybox 

使用docker create创建一个容器再使用docker export导出容器:

  1. $ docker export$(docker create busybox) > busybox.tar 

接下来解压到rootfs目录:

  1. $ mkdir rootfs  
  2. $ tar -C rootfs -xf busybox.tar 

这样就可以用runC来启动一个基于OCF的容器了(这里runC并不依赖Docker,使用Docker只是为了方便建立一个rootfs)。

一个OCF容器应该包含config.json和runtime.json以及rootfs三大部分,所以还需要用runc spec命令来生成一份配置文件:

  1. $ runc spec 

注意:如果还没有安装runC,那么需要按照如下步骤安装。

  1. // 先在在 GOPATH/src 目录下创建一个文件夹名为 'github.com/opencontainers' 。  
  2. $ cd github.com/opencontainers  
  3. $ git clone https://github.com/opencontainers/runc  
  4. $ cd runc  
  5. $ make  
  6. $ sudo make install 

完成上述步骤,就可以使用runC启动一个容器了:

  1. $ runc start 

喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢
24H热文
一周话题
本月最赞

读 书 +更多

鸟哥的Linux私房菜——服务器架设篇(第二版)

本书是对连续三年蝉联畅销书排行榜前10名的《Linux鸟哥私房菜——服务器架设篇》的升级版,新版本根据目前服务器与网络环境做了大幅度修订...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊
× Phthon,最神奇好玩的编程语言