随笔分类 - Golang
go语言相关
摘要:容器文件系统隔离 前面实现了 container 容器创建及容器内部的资源管理和限制,但是容器内部的文件系统仍然和宿主机文件系统有关联,对容器内部文件系统的修改会影响到宿主机文件系统,因此需要单独隔离容器内部文件系统。 ufs介绍 Union File System:UFS 是一个将其它文件系统联合
阅读全文
摘要:简介 上一节中我们完成了 Mydocker run -it /bin/sh 的方式创建并启动容器。本节我们通过 cgroups 来实现对容器资源的限制。通过增加 -mem、-cpu 等命令行参数来限制资源,完整命令比如 Mydocker run -it -mem 10m -cpu 20 /bin/s
阅读全文
摘要:Docker run 命令实现 本文需要实现第一个命令 Mydocker run,类似于 docker run -it [command] 命令。通过创建新的 Namespace 来对新进程进行视图隔离。 核心需要解决如下问题: 命令行参数解析的问题,具体实现时通过 github.com/urfav
阅读全文
摘要:什么是 Dockerfile 用户通过 docker client 客户端去操作 docker daemon 进程对 docker 服务的管理,例如 docker 容器如何从仓库中获取 docker 镜像,这些镜像间依赖关系如何组织等等。 docker 镜像实际上是一种特殊的文件系统,它提供了容器运
阅读全文
摘要:一、Namespace、Cgroups、Rootfs 进程和容器有什么区别? 进程作为计算机程序运行起来后资源管理的总和,内部包含了程序计数器、堆栈、各种变量指令等等; 容器就是对进程做一些限制和约束,从而形成一个边界。Cgroups 技术是用来制造约束的主要手段,Namespace 技术用来修改进
阅读全文