runc&runsc单独使用

runc命令

1.准备一个busybox容器所需文件系统

1
2
3
$ sudo docker pull busybox
$ mkdir rootfs
$ sudo docker export $(sudo docker create busybox) | sudo tar -C rootfs -xvf -

2.生成config.json文件

1
$ runc spec

修改config.json,把”terminal”: true改为false,把”args”: [“sh”]改为[“sleep”, “30”]
3.创建名为mybusybox的容器

1
2
3
4
5
6
7
8
9
10
11
$ sudo runc create mybusybox # 必须把terminal改为false
$ sudo runc list
$ sudo runc state mybusybox
# 查看容器中运行的进程
$ sudo runc ps mybusybox
# 执行容器中定义的任务
$ sudo runc start mybusybox
# 在容器中执行命令
$ sudo runc exec mybusybox ls
# 删除容器
$ sudo runc delete mybusybox

runc run命令相当于create+start

runsc命令

runsc是给container加了一个sandbox,基本用法与runc相同,但是加了额外的flags

1
2
$ sudo runsc -platform=kvm run mybusybox
$ sudo runsc -platform=kvm exec mybusybox ls

添加debug log:

1
sudo runsc -debug -debug-log ./log/ -platform kvm run mybusybox

reference
https://www.cnblogs.com/sparkdev/p/9032209.html