太原市外贸网站建设,域名备案时网站名称,wordpress迁移器,开发项目管理工具目录 一、资源控制
二、数据管理
三、端口映射
四、容器互联 Docker基本管理#xff08;1#xff09;#xff1a;Docker基本管理#xff08;1#xff09;-CSDN博客
一、资源控制
1、cpu控制 cgroups的四大功能#xff1a; 资源限制#xff1a;可以将资源限制应用于…目录 一、资源控制
二、数据管理
三、端口映射
四、容器互联 Docker基本管理1Docker基本管理1-CSDN博客
一、资源控制
1、cpu控制 cgroups的四大功能 资源限制可以将资源限制应用于进程组通过设置资源限制可以控制进程组的资源使用量避免某个进程组占用过多的资源导致其他进程性能下降。 优先级分配可以为不同的cgroup设置优先级从而实现对资源的分配和调度。高优先级的cgroup会获得更多的资源而低优先级的cgroup则会受到限制。 资源统计可以统计系统的资源使用量如cpu时长内存用量等。 任务控制cgroup可以对任务执行挂起、恢复等操作。 1设置cpu的使用率上限
--cpu-period 可设置调度周期--cpu-quota 可设置在每个周期内容器能使用的CPU时间两者可以配合使用。 CFS 周期的有效范围是 1ms~1s对应的 --cpu-period 的数值范围是 1000~1000000。 周期100毫秒 而容器的 CPU 配额必须不小于 1ms即 --cpu-quota 的值必须 1000。
例如
docker run -itd --name test6 --cpu-quota 50000 centos:7 /bin/bash
2设置cpu资源占比
--cpu-shares 指定 CPU 份额默认值为1024值为1024的倍数。
举例创建两个容器为 c1 和 c2若只有这两个容器设置容器的权重使得c1和c2的CPU资源占比为1/3和2/3。
docker run -itd --name c1 --cpu-shares 512 centos:7
docker run -itd --name c2 --cpu-shares 1024 centos:7
3设置容器绑定指定的cpu数
分配虚拟机4个CPU核数
docker run -itd --name test7 --cpuset-cpus 1,3 centos:7 /bin/bash
2、对内存使用的限制
1-m选项用于限制容器可以使用的最大内存
docker run -itd --name test8 -m 512m centos:7 /bin/bash
2限制可用的swap大小
必须要与 --memory 一起使用。
-m 300m --memory-swap1g 的含义为容器可以使用 300M 的物理内存并且可以使用 700M的 swap。
3、对磁盘配额控制的限制
1数据量
--device-read-bps限制某个设备上的读速度bps。 例
docker run -itd --name test9 --device-read-bps /dev/sda:1M centos:7 /bin/bash
--device-write-bps 限制某个设备上的写速度bps。 例
docker run -itd --name test10 --device-write-bps /dev/sda:1mb centos:7 /bin/bash
2次数
--device-read-iops 限制读某个设备的iops --device-write-iops 限制写入某个设备的iops
二、数据管理
管理 Docker 容器中数据主要有两种方式数据卷和数据卷容器。
1、数据卷 数据卷是一个供容器使用的特殊目录位于容器中。可将宿主机的目录挂载到数据卷上对数据卷的修改操作立刻可见并且更新数据不会影响镜像从而实现数据在宿主机与容器之间的迁移。 举例将宿主机目录/var/www 挂载到容器中的/data1路径必须是使用绝对路径。如果路径不存在Docker会自动创建相应的路径。
docker pull centos:7
docker run -v /var/www:/data1 --name web1 -it centos:7 /bin/bash #-v 选项可以在容器内创建数据卷
ls
echo this is web1 /data1/abc.txt
exit
cat /var/www/abc.txt
2、数据卷容器 数据卷容器用于容器之间共享一些数据它是一个普通的容器专门提供数据卷给其他容器挂载使用。 举例创建一个容器作为数据卷容器使用 --volumes-from 来挂载 web2 容器中的数据卷到新的容器
docker run --name web2 -v /data1 -v /data2 -it centos:7 /bin/bash
echo this is web2 /data1/abc.txt
echo THIS IS WEB2 /data2/ABC.txt
docker run -it --volumes-from web2 --name web3 centos:7 /bin/bash
cat /data1/abc.txt
cat /data2/ABC.txt
三、端口映射
在启动容器的时候如果不指定对应的端口在容器外是无法通过网络来访问容器内的服务。端口映射机制将容器内的服务提供给外部网络访问。
docker run -d --name test1 -P nginx #随机映射端口
docker run -d --name test2 -p 43000:80 nginx #指定映射端口
docker ps -a 浏览器访问http://192.168.246.10:43000 、http://192.168.246.10:随机端口
四、容器互联
容器互联是通过容器的名称在容器间建立一条专门的网络通信隧道。
举例创建并运行源容器取名web1、web2--link选项指定连接容器以实现容器互联
docker run -itd -P --name web1 centos:7 /bin/bash
docker run -itd -P --name web2 --link web1:web1 centos:7 /bin/bash
docker exec -it web2 bash
ping web1