Docker基本管理(2)

目录

一、资源控制

二、数据管理

三、端口映射

四、容器互联


Docker基本管理(1):Docker基本管理(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-swap=1g 的含义为:容器可以使用 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/633359.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Git】常用的Git操作集合

常用的Git操作集合 1. 分支操作1.1 查看本地所有分支git branch 1.2 查看所有分支(包含本地远程仓库)git branch -a 1.3 切换分支git checkout test 2. 常用基本操作2.1 查看 git 各存储区内(文件)状态git status 2.2 查看工作区与暂存区文件差异git dif…

揭开UI设计的神秘面纱:如何打造一款让用户爱不释手的移动APP

文章目录 一、目标用户分析二、设计风格和色彩搭配三、布局和导航设计四、交互设计五、视觉元素设计六、响应式设计七、测试和优化八、持续更新和迭代九、团队协作和沟通十、学习和成长《移动APP UI设计与制作(微课版)》编辑推荐内容简介目录 《Flutter入门经典(移动…

Linux/Uinx Makefile介绍以及使用方法和代码演示

Linux/Uinx Makefile介绍以及使用方法和代码演示 在写完我们的C语言程序之后,我们通常可以使用shell脚本来编译和链接C语言程序的源文件,但是这种方式有一个缺点:当我们更改了几个源文件的名称之后,shell脚本就会编译失败&#x…

【vue】ant-col多列栅格式的表单排列方式布局异常:

文章目录 一、效果:二、解决:三、问题: 一、效果: 二、解决: 在row中添加布局类型:type“flex” 三、问题: 后期正式环境还是存在该问题 >>>.ant-form-item {max-height: 32px; }多…

python期末:数据文件

文件和数据练习题 一、文件的打开、操作和关闭 1.以下关于文件的描述,错误的是()。 A 二进制文件和文本文件的操作步骤都是“打开-操作-关闭”; B open() 打开文件之后,文件的内容并没有在内存中; C o…

搭建web网站

要求 1.基于域名[www.openlab.com](http://www.openlab.com)可以访问网站内容为 welcome to openlab!!! 2.给该公司创建三个子界面分别显示学生信息,教学资料和缴费网站,基于[www.openlab.com/student](http://www.openlab.com/student) 网站访问学生信…

【Linux 命令】tree 对目录进行树形展示

目录 1、tree 命令功能展示 2、tree 命令安装 3、tree 命令语法及其参数功能 4、终止 tree 展开树命令 1、tree 命令功能展示 在 Linux 中,我们使用 ll 命令对目录的展示并不太方便我们查看,不太清晰明了,所以我们可以使用 tree 命令以…

分类预测 | Matlab实现KPCA-EBWO-SVM分类预测,基于核主成分分析和改进的白鲸优化算法优化支持向量机分类预测

分类预测 | Matlab实现KPCA-EBWO-SVM分类预测,基于核主成分分析和改进的白鲸优化算法优化支持向量机分类预测 目录 分类预测 | Matlab实现KPCA-EBWO-SVM分类预测,基于核主成分分析和改进的白鲸优化算法优化支持向量机分类预测分类效果基本描述程序设计参…

GO基础进阶篇 (十四)、Http编程

Web基础概念 web应用程序 web程序可以提供浏览器访问的程序。Web应用程序通常采用客户端-服务器模型。客户端是用户使用的Web浏览器或其他Web客户端,而服务器是存储和处理数据的远程计算机。 我们能访问到的任何一个页面或资源,都存在于世界的某一个角落…

ARM的一些基础知识

1.低功耗接口 P-CHANNEL和Q-CHANNEL AMBA低功耗接口(一)Q_Channel_q-channel p-channel-CSDN博客 AMBA低功耗接口(二)P_Channel_p channel-CSDN博客 2.WFI和WFE指令 ARM WFI和WFE指令 ARM hint instruction-WFI(Wait For In…

TDengine 创始人陶建辉在汽车 CIOCDO 论坛发表演讲,助力车企数字化转型

当前,汽车行业的数字化转型如火如荼。借助数字技术的充分利用,越来越多的车企进一步提升了成本优化、应用敏捷性、高度弹性和效率。这一转型使得业务应用的开发和管理模式发生了颠覆性的创新,赋予了汽车软件快速响应变化和动态调度资源的能力…

Windows打印堆栈

//打印堆栈 #include <stdarg.h> #include <windows.h> //#include <dbghelp.h> #include <stdio.h> #if _MSC_VER #define snprintf _snprintf #endif #define STACK_INFO_LEN 1024 static int vsnprintf_s(char* buf, size_t len, const char…

仓储的未来:为叉车配备智能设备

近年来&#xff0c;数字化和自动化极大地重塑了仓储行业。叉车是仓库的主力&#xff0c;正在配备智能设备以简化操作。 点击下载Dynamsoft最新版https://www.evget.com/product/3691/download 智能叉车的序列化艺术 序列化是为每个商品或托盘分配唯一标识符&#xff08;通常采…

文件夹里的文件消失了?3个方法轻松找回文件!

“我在电脑上建了个文件夹&#xff0c;用来保存比较重要的文件和数据&#xff0c;但是不知道为什么&#xff0c;我文件夹里的文件莫名其妙就消失了&#xff0c;有什么方法可以找回消失的文件吗&#xff1f;” 为了更好的给文件进行分类&#xff0c;很多用户会选择将文件放置到不…

【并发编程】synchornized原理

&#x1f4dd;个人主页&#xff1a;五敷有你 &#x1f525;系列专栏&#xff1a;并发编程 ⛺️稳重求进&#xff0c;晒太阳 目录 Monitor概念 Java对象头 普通对象 数组对象 Monitor(锁) Monitor结构如下&#xff1a; 注意&#xff1a; 原理之synchornized 轻量…

跟杰哥一起学Flutter (一、开发初体验)

引言 学习Flutter的动机 Flutter出了好些年头了&#xff0c;最早可以追溯到 2015.6 的Google I/O大会&#xff0c;会上首次公开介绍了Flutter&#xff0c;不过直到 2017.5 才正式发布首个 Alpha版本&#xff0c;于 2018.12 发布 1.0版本。而后Flutter为了尽快推出产品&#xf…

Git 基本命令与操作流

记录 Git 中的基本命令和创建仓库、提交文件、删除文件等方面的操作 Git 基本命令 git status&#xff1a;查看状态 nothing to commit, working directory clean&#xff1a;所有已跟踪文件在上次提交后都未被更改过&#xff0c;或者说当前目录下没有出现任何处于未跟踪状态…

百度搜索Push个性化:新的突破

作者 | 通用搜索产品研发组 导读 本文简单介绍了百度搜索Push个性化的发展过程&#xff0c;揭示了面临的困境和挑战&#xff1a;如何筛选优质物料、如何对用户精准推荐等。我们实施了一系列策略方法进行突破&#xff0c;提出核心的解决思路和切实可行的落地方案。提升了搜索DAU…

postman案例

一、表单接口 基本正向 有效反向 无效反向 JSON接口 基本正向 有效反向 无效反向 文件上传接口 token 获取token值 一&#xff1a; 二&#xff1a; Bearer 获取的token的值&#xff0c;至于鉴权方式要根据swagger接口文档要求

uniapp踩坑之项目:canvas第一次保存是空白图片

在ctx.draw()回调生成图片&#xff0c;参考canvasToTempFilePath接口文档 // data imgFilePath: null,// 缓存二维码图片canvas路径//js // 首先在draw&#xff08;&#xff09;里进行本地存储 ...... ctx.draw(false, () >{uni.canvasToTempFilePath({ // 把画布转化成临时…