Socker是仿Docker的Linux容器引擎,包括容器运行、管理、网络连接等部分。基于阿里大佬xianlubird的书《自己动手写Docker》和runc的源代码实现。
过程中参照很多大佬博客,没有详细记录,统一远程感谢。
Ubuntu 18.04.4 LTS 内核版本5.3.0-51-generic Go version go1.13.8 Linux/amd64 C gcc version 7.5.0
git clone https://github.com/Joey777210/Socker.git
将socker和SockerMQTTWatcher放在$GOPATH/src下 进入socker目录下,使用make get命令,下载所需的Go依赖库 使用make build命令,编译项目 现在你可以使用socker了!
sudo ./Socker run -ti --name myubuntu ubuntu sh
参数:-ti 前台运行容器
如: sudo socker run -ti ubuntu sh
参数:-d 后台运行容器
如: sudo socker run -d ubuntu top -b
参数:--name 容器命名
如: sudo socker run -d --name myubuntu Ubuntu top -b
参数:-e 指定环境变量运行容器
如: sudo socker run –ti -e bird=123 -e luck=bird ubuntu sh
参数:-m 限制容器内存资源
如: sudo socker run -ti –m 100m ubuntu sh
参数:-cpuset 限制容器使用CPU核心数
如: sudo socker run –ti –cpuset 1 ubuntu sh
参数:-cpushare 限制容器使用CPU时间片的权重
如: sudo socker run –ti –cpushare 512 ubuntu sh
参数:-net 配置容器网络
如: sudo socker run –ti –net testbridge ubuntu sh
参数:-p 配置容器端口映射
如: sudo socker run –ti –net testbridge –p 8080:80 ubuntu sh
如: sudo socker ps
如: sudo socker logs myubuntu
如: sudo socker exec myubuntu sh
如: sudo socker stop NAME
如: sudo socker rm myubuntu
如: sudo socker commit myubuntu
- 参数:-ls 查看镜像列表
如: sudo socker image -ls
参数:-rm 删除指定镜像
如: sudo socker image -rm myubuntu
-
参数:create 创建网络
二级参数:--driver 配置子网络驱动(网桥)
--subnet 配置子网络网段和子网掩码
如: sudo socker network create --driver bridge --subnet 192.168.10.1/24 testbridge
参数:list 列出所创建的网络
如: sudo socker network list
参数:-h/help 查看帮助
如: sudo socker–h
sudo SockerMQTTWatcher–h