Docker碎碎念

docker和虚拟机的区别

虚拟机(VM)是通过在物理硬件上运行一个完整的操作系统来实现的。
每个虚拟机都有自己的内核、设备驱动程序和用户空间,它们是相互独立且完全隔离的。
虚拟机可以在不同的物理服务器之间迁移,因为它们是以整个操作系统作为单元进行迁移的。

而容器则是在单个操作系统实例中运行的,所有容器共享相同的内核。
容器可以更快地启动和停止,并且占用更少的系统资源。
容器之间的隔离是通过命名空间和控制组等内核特性来实现的。
在这里插入图片描述

docker共享的linux内核,这个内核中有些什么东西呢?

Docker容器共享宿主机的Linux内核,这意味着容器中运行的应用程序和服务与宿主机共享同一个内核。这种共享内核的设计可以提供更高的性能和更低的资源消耗。

Linux内核是开源的,拥有庞大的代码库和功能丰富的特性。一些常见的内核组件和功能包括:
1. 进程管理:内核负责管理系统中的进程和线程,包括创建、调度、终止等操作。
2. 内存管理:内核分配和管理系统的物理内存和虚拟内存,包括页面置换、内存映射等。
3. 文件系统:内核提供文件系统的支持,包括磁盘驱动、文件缓存、文件访问权限等。
4. 网络协议栈:内核实现了各种网络协议,如TCP/IP、UDP等,以便应用程序进行网络通信。
5. 设备驱动程序:内核提供了对硬件设备的驱动支持,包括网卡、磁盘控制器、USB设备等。
6. 系统调用接口:内核定义了应用程序与内核之间的接口,通过系统调用来访问内核功能。
7. 安全和权限管理:内核维护系统的安全性和权限控制,包括文件访问权限、进程访问控制等。
8. 调度器:内核负责调度系统中的进程和线程,以便合理地分配CPU时间片。
这只是一些常见的内核组件和功能,实际上Linux内核非常复杂并且具有丰富的特性。Docker利用宿主机的Linux内核,并通过命名空间和cgroups等内核特性来实现容器的隔离和资源管理。

docker的资源控制

在容器中,可以使用资源限制和控制组(cgroups)来限制硬件资源的使用。

控制组是Linux内核提供的一种机制,用于将进程组织成一个层次结构,并为每个组设置资源使用限制。通过控制组,可以对CPU、内存、网络带宽等资源进行限制和分配。

Docker利用了控制组来实现对容器的资源管理。通过在创建容器时设置资源限制参数,可以限制容器使用的CPU核心数、内存量、磁盘空间等。这样就能够确保容器不会过度占用硬件资源,从而保证系统的稳定性和性能。

例如,可以使用以下参数来限制容器的资源使用:
- --cpus:指定容器可以使用的CPU核心数量;
- --memory:限制容器可以使用的内存量;
- --blkio-weight:用于限制磁盘I/O的权重;
- --network:用于限制容器的网络带宽。

通过这些资源限制参数,可以在共享内核的情况下,对每个容器进行资源隔离和控制,以避免某个容器过度占用硬件资源而影响其他容器的正常运行。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

快速提高写作生产力——使用PicGo+Github搭建免费图床,并结合Typora

文章目录 简述PicGo下载PicGo获取Token配置PicGo结合Typora总结 简述PicGo PicGo: 一个用于快速上传图片并获取图片 URL 链接的工具 PicGo 本体支持如下图床: 七牛图床 v1.0腾讯云 COS v4\v5 版本 v1.1 & v1.5.0又拍云 v1.2.0GitHub v1.5.0SM.MS V2 v2.3.0-b…

漏洞挖掘和安全审计的技巧与策略

文章目录 漏洞挖掘:发现隐藏的弱点1. 源代码审计:2. 黑盒测试:3. 静态分析工具: 安全审计:系统的全面评估1. 渗透测试:2. 代码审计:3. 安全策略审查: 代码示例:SQL注入漏…

TCP编程流程(补充)

目录 1、listen: 2、listen、tcp三次握手 3、 发送缓冲区和接收缓冲区: 4、tcp编程启用多线程 1、listen: 执行listen会创建一个监听队列 listen(sockfd,5) 2、listen、tcp三次握手 三次握手 3、 发送缓冲区和接收缓冲区:…

Spring事务和事务传播机制(2)

前言🍭 ❤️❤️❤️SSM专栏更新中,各位大佬觉得写得不错,支持一下,感谢了!❤️❤️❤️ Spring Spring MVC MyBatis_冷兮雪的博客-CSDN博客 在Spring框架中,事务管理是一种用于维护数据库操作的一致性和…

Gitlab 安装全流程

Version:gitlab-ce:16.2.4-ce.0 简介 Gitlab 是一个开源的 Git 代码仓库系统,可以实现自托管的 Github 项目,即用于构建私有的代码托管平台和项目管理系统。系统基于 Ruby on Rails 开发,速度快、安全稳定。它拥有与 Github 类似…

Java算法_ BST 中第 k 个最小元素 (LeetCode_Hot100)

题目描述:给定一个二叉搜索树的根节点 ,和一个整数 ,请你设计一个算法查找其中第 个最小元素(从 1 开始计数)。 获得更多?算法思路:代码文档,算法解析的私得。 运行效果 完整代码 /*** 2 * Aut…

Linux学习记录——이십오 多线程(2)

文章目录 1、理解原生线程库线程局部存储 2、互斥1、并发代码(抢票)2、锁3、互斥锁的实现原理 3、线程封装1、线程本体2、封装锁 4、线程安全5、死锁6、线程同步1、条件变量1、接口2、demo代码 1、理解原生线程库 线程库在物理内存中存在,也…

Redis 数据库 NoSQL

目录 一、NoSQL 二、为什么会出现NoSQL技术 三、NoSQL的类别 键值(Key-Value)存储数据库 列存储数据库 文档型数据库 图形(Graph)数据库 四、NoSQL适应场景 五、在分布式数据库中CAP原理 1、CAP 2、BASE 一、NoSQL NoS…

低代码开发平台能开发什么类型的系统和软件?

低代码开发平台能开发什么类型的系统和软件? 1、数据分析和报告系统: 使用低代码平台,企业可以创建数据看板,集成不同数据源,自动提取、分析和可视化数据。这种系统适用于监控业务指标、分析趋势,并为决策…

多个微信号怎么快速发圈、自动加好友、自动回复?

一键助你快速发圈、批量自动加好友、自动回复,好用哭了! 微信管理系统是一个聚合管理多个微信账号的利器,让你的微信管理变得简单高效。不管你是电商、微商,还是拥有多个微信号的用户,这一款微信管理软件都可以满足你的…

vue2+qrcodejs2+clipboard——实现二维码展示+下载+复制到剪切板——基础积累

最近在写后台管理系统时,遇到一个需求就是要实现二维码的展示下载复制到剪切板。 效果图如下: 1.二维码展示下载功能——qrcodejs20.0.2 我是安装的qrcodejs20.0.2,指定了具体的版本号,也可以安装默认的当前稳定版本&#xff0…

门店数字化店务经营系统怎么做?门店数字化系统推荐

为什么你的门店无人问津,有的门店却天天都有到店客户?为什么你的门店要花费两三天才能统计好经营情况,有的门店却能够做到“数据实时可查”?经营管理和营销获客是每个门店发展的重中之重,今天也为大家分享一套完善的门…

西门子SCALANCE W744-1PRO 客户端配置

. 安装西门子无线搜索软件PST。 无线SCALANCE W788-1PRO参数设置。 打开PST软件:选择Settings->Network Adapter->2本地连接 输入该无线设置的IP地址,进入网络访问界面。输入密码:admin,点击Log on进入。 填写本无线的SSI…

kaggle推荐系统比赛top方案汇总【附baseline代码】

推荐系统可以很好地解决信息过载以及信息不足等问题,广泛应用与电商、金融、新闻咨询、社交、旅游等行业,其中最典型并具有良好的发展和应用前景的领域就是电子商务领域。 在学术界,推荐系统同样是热门的研究方向,在各大顶会中的…

中文医学知识语言模型:BenTsao

介绍 BenTsao:[原名:华驼(HuaTuo)]: 基于中文医学知识的大语言模型指令微调 本项目开源了经过中文医学指令精调/指令微调(Instruction-tuning) 的大语言模型集,包括LLaMA、Alpaca-Chinese、Bloom、活字模型等。 我们基于医学知识图谱以及医…

LeetCode——二叉树篇(八)

刷题顺序及思路来源于代码随想录,网站地址:https://programmercarl.com 目录 236. 二叉树的最近公共祖先 235. 二叉搜索树的最近公共祖 迭代 递归 701. 二叉搜索树中的插入操作 450. 删除二叉搜索树中的节点 236. 二叉树的最近公共祖先 给定一个二…

【回味“经典”】DFS练习题解(工作分配问题,最大平台)

这篇文章是一年前写的 走进“深度搜索基础训练“,踏入c算法殿堂(四)和 走进“深度搜索基础训练“,踏入c算法殿堂(二)的重编版。 希望以此,唤起对那位故人的回忆。 【搜索与回溯算法】工作分配问…

python之Pandas

1.Pandas简介 Pandas 是 Python 语言的一个扩展程序库,用于数据分析。 Pandas 名字衍生自术语 “panel data”(面板数据)和 “Python data analysis”(Python 数据分析)。 Pandas 一个强大的分析结构化数据的工具集…

【数据结构OJ题】相交链表

原题链接:https://leetcode.cn/problems/intersection-of-two-linked-lists/description/ 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2. 思路分析 看到这道题,很容易想到的方法就是暴力求解,就是将一个链表的每个结点的地址…

校园二手物品交易平台/二手交易系统/基于java的校园跳蚤市场系统

​ 摘 要 本文论述了校园二手物品交易平台的设计和实现,该网站从实际运用的角度出发,运用了计算机网站设计、数据库等相关知识,网络和Mysql数据库设计来实现的,网站主要包括用户注册、用户登录、浏览商品、搜索商品、查看商品并进…