【docker】docker资源管理

50 篇文章 0 订阅
7 篇文章 0 订阅

docker资源管理

docker cpu管理

Docker提供了多种方式来管理容器的CPU使用情况,包括以下几种方法:

  1. CPU限制:使用--cpus参数可以限制容器使用的CPU核心数。例如,docker run --cpus 2将限制容器使用2个CPU核心。
  2. CPU共享:使用--cpu-shares参数可以为容器分配CPU资源的相对份额。较高值的容器将获得更多的CPU时间。例如,docker run --cpu-shares 512将为容器分配512个CPU份额。

创建容器时可以使用选项 --cpu-shares
数值(该数值要为1024的倍数,1024代表一份,当个容器占用cpu的份额由自身分配的份数除于所有容器占用cpu的份数,就为该容器所占用cpu资源的百分比)进行分配

  1. CPU集合:使用--cpuset-cpus参数可以将容器限制在特定的CPU核心或CPU集合上运行。例如,docker run --cpuset-cpus 0,1将限制容器在CPU核心0和1上运行。
  2. CPU配额:使用--cpu-quota参数可以为容器设置CPU配额。例如,docker run --cpu-quota 50000将为容器设置每秒钟最多可以使用 50000 微秒的 CPU 时间。
  3. CPU周期:使用--cpu-period参数可以为容器设置CPU周期。例如,docker run --cpu-period 100000将为容器设置100,000微秒的CPU周期。

docker 内存管理

Docker有几种方式来管理容器的内存使用情况:

  1. 限制容器可以使用的内存量:可以使用--memory选项来限制容器可以使用的内存量。例如,可以使用--memory=1g选项将容器的内存限制为1GB。

  2. 内存交换限制:可以使用--memory-swap选项来设置容器可以使用的交换空间的限制。默认情况下,Docker会将--memory-swap设置为--memory的两倍。(非必要)

  3. 容器内存分配策略:Docker支持以下几种容器内存分配策略:

    • --memory-swappiness选项:可以设置容器对交换空间的使用程度。默认情况下,Docker将此选项设置为60。
    • --oom-kill-disable选项:可以禁止Docker在内存不足时杀死容器。默认情况下,此选项是禁用的。
    • --oom-score-adj选项:可以设置容器的OOM分数调整值。较低的OOM分数意味着容器更有可能被杀死。默认情况下,此选项为0。
  4. 查看容器的内存使用情况:可以使用docker stats命令来查看容器的内存使用情况,包括使用的内存量、缓冲区和缓存量、交换空间使用情况等。

1、当网络模式使用container模式时,几个容器中的服务是否可以通过localhost或者127.0.0.1进行通信

container 网络模式

Container 网络模式是 Docker 中一种较为特别的网络的模式。在创建容器时通过参数 --net container:已运行的容器名称|ID 或者 --network container:已运行的容器名称|ID 指定;
处于这个模式下的 Docker 容器会共享一个网络栈,这样两个容器之间可以使用 localhost 高效快速通信。

docker network create --driver bridge --subnet=22.0.0.0/24 test-net
 docker run --name testnginx -d -p 81:80 --net test-net nginx
 run --name testtomcat -d -p 8081:8080 --network container:testnginx tomcat  

在这里插入图片描述
在这里插入图片描述

2、创建一个默认桥接的容器,将容器连接到自定义网络

docker network create --driver bridge my_network                                            docker run -d --name nginx_container \                                                     
           --network my_network \ 
           -p 90:80 \    
           nginx          

在这里插入图片描述

3、创建一个httpd容器

docker run -d --name httpd_container \  
           -p 100:80 \
           httpd

使用物理机访问httpd服务
在这里插入图片描述

使用虚拟机访问httpd服务
在这里插入图片描述

进入容器查看httpd的日志
在这里插入图片描述

4、修改cfs公共参数中的cpu.cfs_quota_us改为20000,创建容器测试cpu用量

cd /sys/fs/cgroup/cpu/docker/
code cpu.cfs_quota_us  
# 20000
# save
docker run -id --name c1 centos
docker exec -it c1 bash
vi cpu.sh
#!/bin/bash
i=0
while true
do
let i++
done
chmod +x cpu.sh
./cpu.sh
top

在这里插入图片描述

5、构建一个docker容器,限制其可用最大内存为1024mb

docker run --name testc --memory 1024m -id centos  
docker stats

在这里插入图片描述

  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值