关键词
--blkil-weight:硬盘优先级,谁先使用硬盘
bps/iops:bps是每秒读写的数据量,iops是每秒的io次数
都有利于提升数据读取的速度,要么单次读取数据大,要么读取数据小但是次数多
--device-read-bps:磁盘每秒读取速度
--device-write-bps:磁盘每秒写入速度
--device-read-iops:磁盘每秒io读取速度
--device-write-iops:磁盘每秒io写入速度
启动一个容器,并限制该容器在磁盘的写入速度为30MB/s
[root@localhost ~]# docker run -it --device-write-bps /dev/sda:30MB centos /bin/bash
使用dd命令测试,发现写入速率为29.9MB/s
内核中强大的工具cgroup,不仅可以限制被NameSpace隔离起来的资源,还可以为资源设置权重,计算用量等
cgroup全称是control groups
control groups:控制组,被整合在了linux内核当中,把进程(tasks)放到组里面,对组设置权限,对进程进行控制。可以理解为用户和组的概念,用户会继承它所在组的权限。
cgroups是linux内核中的机制,这种机制可以根据特定的行为把一系列的任务,子任务整合或者分离,按照资源划分的等级的不同,从而实现资源统一控制的框架,cgroup可以控制、限制、隔离进程所需要的物理资源,包括cpu、内存、IO,为容器虚拟化提供了最基本的保证,是构建docker一系列虚拟化的管理工具
实验:使用ssh管理docker的容器。
实验要求:
1、ssh可以登录容器
2、在容器内yum 安装httpd并且启动
实验步骤
将docker的centos镜像实例化名为sshd的容器
[root@localhost ~]# docker run -itd --name sshd centos /bin/bash
cd3c512d6cd959263b1c94e19781d7213831aad714a2e962ade7c0adc28c510e
进入容器,并进行安装sshd和启动sshd的相应操作
Linxu内核实现Namespace的主要目的是为了实现轻量化的虚拟化,就是为了支持容器
Docker每一个容器中有独立的IP、端口、路由,共有六项隔离
我们通过一个简单的Apache来查看Docker有哪六项隔离
[root@localhost ~]# yum -y install httpd
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# netstat -anpt | grep 80
tcp6 0 0 :::80 :::* LISTEN 68305/httpd
可以看到关于80端口的pid是68305,这是重点,接下来就要去看68305这个pid中有哪些东西
当我们使用pull从docker仓库中将镜像下载到本地,也就是可以通过docker images
查看到pull到的镜像,下载后,可以通过docker run
将镜像启动运行在容器(Contaier)中,就可以对容器进行start/stop/kill...
等操作。
当然如图所示的images,也可以进行在本地的备份,通过save保存到本地机器,或者通过load恢复到docker的images中
在公司中,不可能去只是用一个centos镜像,可能会用到nginx等的服务,这里就以nginx为例,最后可以通过docker commit
制作一个镜像,可以push到仓库中,供用户下载使用
dockerfile
是一种作镜像的技术,在后面的学习中会用到,到时再说
Docker的官网
必须是Centos7版本,最好是7.7的内核,docker目前不支持Centos8
点击Get Docker
可以查看有关下载Docker的文档
4 / 4