docker安装参考资料与自己的一些理解

官方Ubuntu安装文档
一个官方文档翻译版的安装手册

知乎上一篇讲解docker比较好的文章
阮一峰一篇讲Docker比较好的文章
阮一峰另一篇讲解Docker的文章
Docker教程
Docker中控制容器带宽等

Linux中cgroups简介-美团技术团队
Linux cgroups详解博客
docker 容器基础技术:linux cgroup 简介

blkio系统详解
blkio系统详解2

镜像(Image):类似于虚拟机中的镜像,是一个包含有文件系统的面向Docker引擎的只读模板。任何应用程序运行都需要环境,而镜像就是用来提供这种运行环境的。例如一个Ubuntu镜像就是一个包含Ubuntu操作系统环境的模板,同理在该镜像上装上Apache软件,就可以称为Apache镜像。

容器(Container):类似于一个轻量级的沙盒,可以将其看作一个极简的Linux系统环境(包括root权限、进程空间、用户空间和网络空间等),以及运行在其中的应用程序。Docker引擎利用容器来运行、隔离各个应用。容器是镜像创建的应用实例,可以创建、启动、停止、删除容器,各个容器之间是是相互隔离的,互不影响。注意:镜像本身是只读的,容器从镜像启动时,Docker在镜像的上层创建一个可写层,镜像本身不变。
(这段从这位大佬那抄来的)

对Docker与虚拟机软件VMware做一个类比:
Docker引擎就相当于VMware,但Docker是客户端-服务器模型。

Docker中镜像的概念就类似于操作系统ISO安装镜像的概念。
Docker中从镜像生成的容器文件就相当于虚拟机中从ISO镜像生成的存在于硬盘上的系统文件一样。

cgroups学习记录

在/sys/fs/cgroup里面已经有各种子资源的目录,比如cpuset、memory、cpu等等,,这些应该是cgroups挂载之后默认创建的cgroup,只要把进程号加入到对应的子资源文件夹中的tasks中应该就可以直接使用这些cgroup对进程所作出的限制来控制进程。。。不过一般情况下我们是通过在这些对应的子资源目录下面创建新的cgroup来控制我们想要控制的进程,新创建的目录算是继承的父目录的控制设置,比如在cpu文件夹下面新创建一个文件夹(使用cgroup-tools或者mkdir创建)系统会自动在新创建的文件夹下面填充对应的文件,包括参数设置文件和进程设置的文件。。。。这样就保证了cgroup之间是一个有继承关系的树状结构。

使用cgroup-tools工具,不用给定冗长的cgroup路径,它自己应该是把路径给固定死了;使用mkdir或者rmdir控制cgroup则需要记住cgroup在文件系统中的路径。。。。

通过VFS使用cgroup的方式和使用/proc虚拟文件系统来查看和设置内核的各种参数是一样的。都是使用cat来查看并且使用echo将内容写入

设计cgroup的人把cgroup各种相关的文件在系统中应该放在那个地方都固定了,只要挂载cgroup系统,对应的文件一定在事先设定好的目录当中

Docker如何使用cgroup

docker会在执行run命令或者start命令的时候在cgroup的各个子系统中创建docker目录,然后在该docker目录里面创建一个与运行容器ID相同的目录,在这个目录里面设置该容器中进程运行的各项控制参数,应该是启动一个进程就在对应的容器cgroup的tasks中添加一个该进程的PID。当容器运行结束退出时,docker会清理掉对应的cgroup目录。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值