当前位置: 首页 > news >正文

docker数据卷、资源控制

一、docker数据卷:

1.容器和宿主机之间数据共享----挂载卷----容器内的目录和宿主机的目录进行挂载。实现数据文件共享容器的生命周期有限,一旦重启所有对容器内部文件数据的修改以及保存的数据都会被初始化,所以为了防止数据丢失重要的组件一定会做数据卷。

-v:指定数据卷

docker run -itd --name test1 -v /opt/test1:/opt/test2 nginx:1.22 /bin/bash

-v冒号前指定的是宿主机,后面指的是容器内目录

加不加斜杠,都是目录,不是文件,如果不存在,宿主机和容器自动创建。

以宿主机的目录为标记,同步的是宿主机目录的内容到容器内

挂载之后容器内的目录的权限默认是读写权限都有

设置数据卷的只读模式

2.容器与容器之间进行数据共享:容器之间会需要共享数据,最简单的方法就是使用数据卷容器,可以提供容器内的一个目录,专门用来供其它容器进行挂载

删除所有容器的命令

docker ps -a | awk 'NR>=2{print $1}' | xargs docker rm -f

3.容器互联:容器与容器之间专门建立一条网络通信,容器与容器之间通过通道相互通信,建立通道之后,容器之间可以通过容器名进行通信,容器之间不需要暴露端口,也不依赖宿主机IP,再容器内部可以通过容器名直接访问另一个容器,简化容器之间的连接配置。

创建容器互联先指定网络,我们要先创建自定义网络及网卡

进行容器互联并且根据容器名进行访问 

二、docker容器的资源控制:dockers通过cgroup来控制容器的资源配额,包括cpu、内存、磁盘(比较少)。

cgroup:linux内核提供的可以限制,记录,隔离进程所有使用的物理资源(cpu、内存、磁盘)的机制

1.cpu资源控制:进程占用cpu时间来进行计算

-1:表示系统没有对该进程进行cpu限制

100000:表示微妙,也就是100毫秒,也就是每个使用cpu的周期内,容器可以用指定的比例使用cpu的时间。

实现cpu资源控制先进行挂载

 PID:是容器在宿主机上的进程号,PPID是在容器内部的进程号

2.设置cpu的资源占用比:--cpu-shares默认值是1024,必须是1024的倍数或者整除

多个容器之间如何做限制:用死循环来做,也可以用上述方法做

 如何把容器绑定到CPU     --cpuset-cpus

cpu的限制和绑定cpu一般是一起使用的

三、内存限制:也可以限制容器使用交换空间swap

内存限制是512M,交换空间限制的大小是1g-512m=512g         -m是指定大小

 

--memory-swap=0或者不写,容器使用swap交换分区的大小是限制的内存值的两倍

-m 512m  --memory-swap=512m:容器不能使用swap交换空间

-m 512m  --memory-swap=-1:内存还是受限512m,使用交换分区不再受限,宿主机有多少swap空间,容器就可以用多少。

四、磁盘读写速度的限制,磁盘的读次数限制和写次数限制(磁盘了解即可)

容器磁盘在磁盘上每秒只能读1m

容器在磁盘上每秒只能写1M

五、 清理dcker的镜像、容器的残留,删除停止运行的容器,删除无用的数据卷和网络

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Java中Spring基础知识理解
  • 如何用剪映自动批量生成左右分屏的视频?
  • 080:vue+mapbox中interpolate 的详细解释
  • 【深度学习】【语音】TTS,MeloTTS代码讲解
  • 图像识别,图片线条检测
  • SpringBoot优雅开发REST API最佳实践
  • Socks5代理IP在跨境电商和网络爬虫领域的实战应用
  • 八种排序算法的复杂度(C语言)
  • C++-类与对象(中下篇)
  • docker compose部署rabbitmq集群,并使用haproxy负载均衡
  • 【Linux Install】Ubuntu20, Windows10 双系统安装
  • 学习记录第二十五天
  • 【MySQL进阶】事务、存储引擎、索引
  • 【解析几何笔记】2.向量及其线性运算
  • iOS在设置css的filter属性不生效
  • 【翻译】Mashape是如何管理15000个API和微服务的(三)
  • Docker入门(二) - Dockerfile
  • github从入门到放弃(1)
  • java8 Stream Pipelines 浅析
  • java架构面试锦集:开源框架+并发+数据结构+大企必备面试题
  • MYSQL如何对数据进行自动化升级--以如果某数据表存在并且某字段不存在时则执行更新操作为例...
  • passportjs 源码分析
  • React 快速上手 - 06 容器组件、展示组件、操作组件
  • 阿里云购买磁盘后挂载
  • 解析 Webpack中import、require、按需加载的执行过程
  • 盘点那些不知名却常用的 Git 操作
  • 前端面试题总结
  • 入职第二天:使用koa搭建node server是种怎样的体验
  • 实现简单的正则表达式引擎
  • 数组大概知多少
  • 跳前端坑前,先看看这个!!
  • 鱼骨图 - 如何绘制?
  • 云大使推广中的常见热门问题
  • 06-01 点餐小程序前台界面搭建
  • ​queue --- 一个同步的队列类​
  • ‌前端列表展示1000条大量数据时,后端通常需要进行一定的处理。‌
  • ![CDATA[ ]] 是什么东东
  • ###C语言程序设计-----C语言学习(3)#
  • #laravel 通过手动安装依赖PHPExcel#
  • #Linux(make工具和makefile文件以及makefile语法)
  • (ZT) 理解系统底层的概念是多么重要(by趋势科技邹飞)
  • (附表设计)不是我吹!超级全面的权限系统设计方案面世了
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (附源码)计算机毕业设计高校学生选课系统
  • (机器学习-深度学习快速入门)第三章机器学习-第二节:机器学习模型之线性回归
  • (九十四)函数和二维数组
  • (南京观海微电子)——COF介绍
  • (牛客腾讯思维编程题)编码编码分组打印下标题目分析
  • (十一)c52学习之旅-动态数码管
  • (四)Controller接口控制器详解(三)
  • (小白学Java)Java简介和基本配置
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • ... 是什么 ?... 有什么用处?
  • .Net 路由处理厉害了
  • .Net程序猿乐Android发展---(10)框架布局FrameLayout