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视频教程》
Atas ialah kandungan terperinci docker不能对什么进行隔离. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!
Perbezaan antara k8s dan docker
Apakah kaedah untuk docker memasuki bekas?
Apakah yang perlu saya lakukan jika bekas docker tidak boleh mengakses rangkaian luaran?
Apakah kegunaan imej buruh pelabuhan?
Apakah ungkapan biasa dalam php
Kaedah perwakilan pemalar rentetan
tidak boleh membuka laman web
Cara membersihkan pemacu C komputer yang terlalu penuh