runc是linux上一个用来运行容器的管理工具,遵循OCI规范。
首先,我们通过一些简单的例子来演示一下runc创建和启动容器的例子:
mkdir /tmp/mycontainer
cd /tmp/mycontainer
# 创建容器文件系统
mkdir rootfs
# 导出busybox系统目录到rootfs
docker export $(docker create busybox) | tar -C rootfs -xvf -
下面来生成一个spec文件:config.json。runc提供一个一个spec命令帮助我们生成一个基础的模板,后续我们可以基于这个模板作出自定义的修改。
ruc spec
启动容器:
root@workstation:/tmp/testrunc# runc run mycontainer
/ # ip a
1: lo: <LOOPBACK,UP,LOWER_UPmtu 65536 qdisc noqueue qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
/ # hostname
runc
/…