频道栏目
首页 > 资讯 > 其他 > 正文

使用runc来启动容器-小蚂蚁-51CTO博客

20-05-14        来源:[db:作者]  
收藏   我要投稿
runc简介

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

如何使用

? 使用runc的话也是比较简单的。首先我们要基于现有已运行的docker容器来制作runc需要的rootfs,具体如下

需要机器上安装有docker

# 首先建立一个工作目录以及rootfs目录
mkdir testc
cd testc
mkdir rootfs
# 运行一个容器并根据自己的需要在容器中定制一些内容
docker run --name=test1 --rm -it centos bash
# 容器运行后可根据自己需要定制安装一些内容,比如说这里安装一个ansible
yum install ansible -y
...
# 定制话内容完成后 此窗口不要关闭,从新开一个shell窗口执行如下命令
# 将上述运行的容器导出为文件并解压
cd testc/rootfs
docker export test1 -o test1.tar
tar xvf test1.tar
rm -rf test1.tar

# 生成runc启动需要的配置文件
cd ..
runc spec
# 上面那条命令会生成一个config.json 的文件,里面的参数可以根据需要修改 这里只简单的修改几个
vim config.json 
...
                "args": [
                        "bash" # 容器启动的命令
                ],
...
        "readonly": false # 修改为容器的文件系统为rw模式,默认是只读的
...
# end
# 启动我们制作好的容器
cd testc
runc run testname
# 如上的testname是启动容器的名称 随便定义

# 列出runc运行的所以容器,就能看到我们上面运行的testname的容器信息了
runc list
# runc的其他命令
runc help
总结

? 实际上我们可以利用此制作一些工具包,可以运行在任何地方,很方便,比如说我们的应用需要部署到客户的机器上,我们就可以制作一个ansible的镜像然后在里面写好ansible的角色等配置,然后在导出最后根据上述步骤制作好并打成压缩包.拿到客户现场的服务器中解压并执行你的ansible-playbook 稍作休息客户的环境装好了。其他应用场景自己想把

相关TAG标签
上一篇:kubernetes的存储ConfigMap-flyfish-51CTO博客
下一篇:redis-主从复制(sentinel)-jonson sun-51CTO博客
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站