您的位置:首页 > 技术中心 > 运维 >

docker不能对什么进行隔离

时间:2022-02-28 15:10

docker不能对“硬盘I/O读写”进行隔离,但可以对文件系统、网络(Network)、进程间的通信、针对权限的用户和用户组、进程内的PID和宿主机的PID、主机名与域名等进行隔离。

本教程操作环境:linux5.9.8系统、docker-1.13.1版、Dell G3电脑。

Docker可以控制很多资源,目前还不能对“硬盘I/O读写”资源进行隔离。

硬盘I/O是指硬盘的输入和输出(Input和Output的缩写)。就是发指令,从磁盘读取某段扇区的内容。指令一般是通知磁盘开始扇区位置,然后给出需要从这个初始扇区往后读取的连续扇区个数,同时给出动作是读,还是写。

对于磁盘I/O资源来说,考量的参数是容量和读写速度,因此对容器的磁盘限制也应该从这两个维度出发。目前Docker 支持对磁盘的读写速度进行限制,但是并没有方法能限制容器能使用的磁盘容量(一旦磁盘 mount 到容器里,容器就能够使用磁盘的所有容量)。

那么docker可以对哪些资源进行隔离?

Docker通过namespace实现了资源隔离,通过cgroups实现了资源限制,通过*写时复制机制(copy-on-write)*实现了高效的文件操作。

namespace可以隔离哪些

  • 一个容器要想与其他容器互不干扰需要能够做到:

  • 文件系统需要是被隔离的

  • 网络也是需要被隔离的

  • 进程间的通信也要被隔离

  • 针对权限,用户和用户组也需要隔离

  • 进程内的PID也需要与宿主机中的PID进行隔离

  • 容器也要有自己的主机名

有了以上的隔离,我们认为一个容器可以与宿主机和其他容器是隔离开的。

推荐学习:《docker视频教程》

以上就是docker不能对什么进行隔离的详细内容,更多请关注gxlcms其它相关文章!

热门排行

今日推荐

热门手游