最近没有什么需要做的事,一直在读论文,但是读论文总是感觉心里发虚,想要写点什么。
最近突发奇想,docker既然这么好用,而且和我的兴趣操作系统很相关,要不自己写个docker试试。不知道最终能写到什么样子,只是希望能有点事打发一下时间。
docker是用Go写的,但是可能我心中有一些执念,我一直觉得底层的东西就应该用C++写,当然上层的命令啥得无所谓,但是运行时应该用C++,因此我觉得先用C++进行尝试。
首先需要把sheep-tools放到和docker-cpp相同的文件夹。然后用cmake .
生成Makefile,再用make
编译。
注:
- max表示相关资源无限制,但是实际参数不可以是max。
参数 | 说明 | 是否必填 | 默认值 |
---|---|---|---|
-m | 容器挂载的根目录 | 是 | |
-c | 运行的命令 | 是 | |
--cpu_percent | 最大CPU时间百分比 | 否 | 100 |
--mem_high | 最大内存占用量(字节),超出之后将受到限制 | 否 | max |
--mem_max | 最大内存占用量(字节),一旦超出立即被kill | 否 | max |
参数名与值之间使用空格分开,不要写等于号。例如sudo ./docker-cpp -m asd -c asr --cpu_percent 70
。
注意运行需要root权限