├── .gitignore ├── LICENSE ├── README.md ├── docs ├── 3.1构造实现run命令版本的容器.md ├── 3.2增加容器资源限制.md ├── 3.3使用管道优化参数传递.md ├── 4.1使用busybox创建容器.md ├── 4.2使用AUFS包装busybox.md ├── 4.3实现volume数据卷.md ├── 4.4实现简单镜像打包.md ├── 5.1实现容器的后台运行.md ├── 5.2实现查看运行中的容器.md ├── 5.3实现logs命令查看容器日志.md ├── 5.4实现进入容器的namespace.md ├── 5.5实现容器停止.md ├── 5.6实现容器删除.md ├── 5.7实现通过容器制作镜像.md ├── 5.8实现容器制定环境变量运行.md ├── 6.1ip分配管理.md ├── 6.2创建网络.md └── 6.3给容器配置网络.md ├── example └── system │ ├── cgroup │ └── cgroup.go │ └── namespace │ └── namespace.go ├── go.mod ├── go.sum └── mydocker ├── cgroup ├── cgroup_manage.go └── subsystem │ ├── cpuset.go │ ├── cpushare.go │ ├── memory.go │ ├── subsystem.go │ └── util.go ├── command └── main_command.go ├── container ├── container_info.go ├── container_process.go └── init.go ├── main.go ├── network ├── bridge.go ├── ipam.go ├── ipam_test.go └── network.go ├── nsenter └── nsenter.go └── run ├── commit.go ├── exec.go ├── logs.go ├── ps.go ├── remove.go ├── run.go ├── run_test.go ├── stop.go └── utils.go /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | main 3 | busybox 4 | mnt 5 | writeLayer -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freedom-xiao007/dockerDemo/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freedom-xiao007/dockerDemo/HEAD/README.md -------------------------------------------------------------------------------- /docs/3.1构造实现run命令版本的容器.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freedom-xiao007/dockerDemo/HEAD/docs/3.1构造实现run命令版本的容器.md -------------------------------------------------------------------------------- /docs/3.2增加容器资源限制.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freedom-xiao007/dockerDemo/HEAD/docs/3.2增加容器资源限制.md -------------------------------------------------------------------------------- /docs/3.3使用管道优化参数传递.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freedom-xiao007/dockerDemo/HEAD/docs/3.3使用管道优化参数传递.md -------------------------------------------------------------------------------- /docs/4.1使用busybox创建容器.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freedom-xiao007/dockerDemo/HEAD/docs/4.1使用busybox创建容器.md -------------------------------------------------------------------------------- /docs/4.2使用AUFS包装busybox.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freedom-xiao007/dockerDemo/HEAD/docs/4.2使用AUFS包装busybox.md -------------------------------------------------------------------------------- /docs/4.3实现volume数据卷.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freedom-xiao007/dockerDemo/HEAD/docs/4.3实现volume数据卷.md -------------------------------------------------------------------------------- /docs/4.4实现简单镜像打包.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freedom-xiao007/dockerDemo/HEAD/docs/4.4实现简单镜像打包.md -------------------------------------------------------------------------------- /docs/5.1实现容器的后台运行.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freedom-xiao007/dockerDemo/HEAD/docs/5.1实现容器的后台运行.md -------------------------------------------------------------------------------- /docs/5.2实现查看运行中的容器.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freedom-xiao007/dockerDemo/HEAD/docs/5.2实现查看运行中的容器.md -------------------------------------------------------------------------------- /docs/5.3实现logs命令查看容器日志.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freedom-xiao007/dockerDemo/HEAD/docs/5.3实现logs命令查看容器日志.md -------------------------------------------------------------------------------- /docs/5.4实现进入容器的namespace.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freedom-xiao007/dockerDemo/HEAD/docs/5.4实现进入容器的namespace.md -------------------------------------------------------------------------------- /docs/5.5实现容器停止.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freedom-xiao007/dockerDemo/HEAD/docs/5.5实现容器停止.md -------------------------------------------------------------------------------- /docs/5.6实现容器删除.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freedom-xiao007/dockerDemo/HEAD/docs/5.6实现容器删除.md -------------------------------------------------------------------------------- /docs/5.7实现通过容器制作镜像.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freedom-xiao007/dockerDemo/HEAD/docs/5.7实现通过容器制作镜像.md -------------------------------------------------------------------------------- /docs/5.8实现容器制定环境变量运行.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freedom-xiao007/dockerDemo/HEAD/docs/5.8实现容器制定环境变量运行.md -------------------------------------------------------------------------------- /docs/6.1ip分配管理.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freedom-xiao007/dockerDemo/HEAD/docs/6.1ip分配管理.md -------------------------------------------------------------------------------- /docs/6.2创建网络.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freedom-xiao007/dockerDemo/HEAD/docs/6.2创建网络.md -------------------------------------------------------------------------------- /docs/6.3给容器配置网络.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freedom-xiao007/dockerDemo/HEAD/docs/6.3给容器配置网络.md -------------------------------------------------------------------------------- /example/system/cgroup/cgroup.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freedom-xiao007/dockerDemo/HEAD/example/system/cgroup/cgroup.go -------------------------------------------------------------------------------- /example/system/namespace/namespace.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freedom-xiao007/dockerDemo/HEAD/example/system/namespace/namespace.go -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freedom-xiao007/dockerDemo/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freedom-xiao007/dockerDemo/HEAD/go.sum -------------------------------------------------------------------------------- /mydocker/cgroup/cgroup_manage.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freedom-xiao007/dockerDemo/HEAD/mydocker/cgroup/cgroup_manage.go -------------------------------------------------------------------------------- /mydocker/cgroup/subsystem/cpuset.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freedom-xiao007/dockerDemo/HEAD/mydocker/cgroup/subsystem/cpuset.go -------------------------------------------------------------------------------- /mydocker/cgroup/subsystem/cpushare.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freedom-xiao007/dockerDemo/HEAD/mydocker/cgroup/subsystem/cpushare.go -------------------------------------------------------------------------------- /mydocker/cgroup/subsystem/memory.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freedom-xiao007/dockerDemo/HEAD/mydocker/cgroup/subsystem/memory.go -------------------------------------------------------------------------------- /mydocker/cgroup/subsystem/subsystem.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freedom-xiao007/dockerDemo/HEAD/mydocker/cgroup/subsystem/subsystem.go -------------------------------------------------------------------------------- /mydocker/cgroup/subsystem/util.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freedom-xiao007/dockerDemo/HEAD/mydocker/cgroup/subsystem/util.go -------------------------------------------------------------------------------- /mydocker/command/main_command.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freedom-xiao007/dockerDemo/HEAD/mydocker/command/main_command.go -------------------------------------------------------------------------------- /mydocker/container/container_info.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freedom-xiao007/dockerDemo/HEAD/mydocker/container/container_info.go -------------------------------------------------------------------------------- /mydocker/container/container_process.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freedom-xiao007/dockerDemo/HEAD/mydocker/container/container_process.go -------------------------------------------------------------------------------- /mydocker/container/init.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freedom-xiao007/dockerDemo/HEAD/mydocker/container/init.go -------------------------------------------------------------------------------- /mydocker/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freedom-xiao007/dockerDemo/HEAD/mydocker/main.go -------------------------------------------------------------------------------- /mydocker/network/bridge.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freedom-xiao007/dockerDemo/HEAD/mydocker/network/bridge.go -------------------------------------------------------------------------------- /mydocker/network/ipam.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freedom-xiao007/dockerDemo/HEAD/mydocker/network/ipam.go -------------------------------------------------------------------------------- /mydocker/network/ipam_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freedom-xiao007/dockerDemo/HEAD/mydocker/network/ipam_test.go -------------------------------------------------------------------------------- /mydocker/network/network.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freedom-xiao007/dockerDemo/HEAD/mydocker/network/network.go -------------------------------------------------------------------------------- /mydocker/nsenter/nsenter.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freedom-xiao007/dockerDemo/HEAD/mydocker/nsenter/nsenter.go -------------------------------------------------------------------------------- /mydocker/run/commit.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freedom-xiao007/dockerDemo/HEAD/mydocker/run/commit.go -------------------------------------------------------------------------------- /mydocker/run/exec.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freedom-xiao007/dockerDemo/HEAD/mydocker/run/exec.go -------------------------------------------------------------------------------- /mydocker/run/logs.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freedom-xiao007/dockerDemo/HEAD/mydocker/run/logs.go -------------------------------------------------------------------------------- /mydocker/run/ps.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freedom-xiao007/dockerDemo/HEAD/mydocker/run/ps.go -------------------------------------------------------------------------------- /mydocker/run/remove.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freedom-xiao007/dockerDemo/HEAD/mydocker/run/remove.go -------------------------------------------------------------------------------- /mydocker/run/run.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freedom-xiao007/dockerDemo/HEAD/mydocker/run/run.go -------------------------------------------------------------------------------- /mydocker/run/run_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freedom-xiao007/dockerDemo/HEAD/mydocker/run/run_test.go -------------------------------------------------------------------------------- /mydocker/run/stop.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freedom-xiao007/dockerDemo/HEAD/mydocker/run/stop.go -------------------------------------------------------------------------------- /mydocker/run/utils.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freedom-xiao007/dockerDemo/HEAD/mydocker/run/utils.go --------------------------------------------------------------------------------