【Docker学习总结】3.Docker 容器相关技术简介

GNS3 中使用 Docker 容器 本文通过一个非常简单的例子说明 1. 如何在 GNS3 VM 中制作可以使用的 Docker 镜像。 2. 在 GNS3 中如何使用 Docker 容器 阅读详情

Docker依赖Linux内核的特性,Namespace命名空间以及Control groups(CGroup)控制组,通过学习这两种特性,能够更好的帮助我们理解Docker容器的资源分配和管理。

一、Namespace命名空间

很多编程语言都包含了“命名空间”的概念,我们可以认为“命名空间”是一种“封装”的概念, 而“封装”本身实际上实现的是代码的隔离。
而在操作系统中,命名空间提供的是系统资源的隔离,而系统资源包括了进程、网络、文件系统等:

                                   

而实际上,Linux实现命名空间的主要目的之一,就是为了实现轻量级虚拟化服务,也就是我们说的容器。在同一个命名空间下的进程,可以感知彼此的变化,而对其它命名空间中的进程一无所知。这让就可以让容器中的进程产生一种错觉,仿佛它自己置身于一个独立的系统环境中,以此达到“独立”和“隔离”的目的。

我们从Docker公开的文档来看,它使用了5种命名空间:
(1)PID(Process ID) 进程隔离
(2)NET(NetWork) 管理网络接口
(3)IPC(InterProcess Communication) 管理跨进程通信的访问
(4)MNT(Mount) 管理挂载点
(5)UTS(Unix Timesharing System) 隔离内核和版本标识

那么,这些隔离的资源,是如何被管理起来的呢?这就需要用到------Control groups(CGroup)控制组了。


二、Control groups(CGroup)控制组

Control groups是Linux内核提供的,一种可以限制、记录、隔离进程组所使用的物理资源的机制。
最初是由google工程师提出,并且在2007年时被Linux kernel的内核中的2.6.24版本引进。可以说,Control groups就是为容器而生的,没有Control groups就没有容器技术的今天。

Control groups提供了以下功能:
(1)资源限制
例如,memory(内存)子系统可以为进程组设定一个内存使用的上限,一旦进程组使用的内存达到了限额,该进程组再发出内存申请时,就会发出“out of memory”(内存溢出)的警告。

(2)优先级设定
它可以设定哪些进程组可以使用更大的CPU或者磁盘IO的资源。

(3)资源计量
它可以计算进程组使用了多少系统资源。尤其是在计费系统中,这一点十分重要。

(4)资源控制
它可以将进程组挂起或恢复。
 

三、Namespace和CGroup带给Docker的能力


到这里我们了解了Namespace和CGroup的概念和职能,而这两个特性带给了Docker哪些能力呢?如下:
(1)文件系统隔离
首先是文件系统的隔离,每个Docker的容器,都可以拥有自己的root文件系统。

(2)进程隔离
每个容器都运行在自己的进程环境中。

(3)网络隔离
容器间的虚拟网络接口和IP地址都是分开的。

(4)资源的隔离和分组
使用cgroups将cpu和内存之类的资源独立分配给每个Docker容器。
--------------------- 
作者:光仔December 
来源:优快云 
原文:https://blog.youkuaiyun.com/acmman/article/details/83444348 
版权声明:本文为博主原创文章,转载请附上博文链接!

docker简介以及docker容器的安装 Docker属于,提供简单易用的容器使用接口,它也是目前最流行的Linux容器解决方案。Docker 将软件代码和其依赖,全打包在一个文件中。运行单个文件,就会生成虚拟容器。在这个虚拟容器中,不管本地的操作系统是如何的不同,此容器都能照常运行。简而言之,Docker的接口非常简单,可以帮助用户更好地创建和使用容器,让相同的代码在不同的环境上正常运行。VM:使用Hypervisor提供虚拟机的运行平台,管理每个VM中操作系统的运行。每个VM都要有自己的操作系统、应用程序和必要的依赖文件等。 阅读详情

相关推荐

Docker部署FAST OS DOCKER容器管理工具

Docker部署FAST OS DOCKER容器管理工具

jks212454的博客 4652

Docker详解

Docker详解 一、Docker基础 1、Docker简介 Docker 是一个开源的应用容器引擎,基于Go 语言并遵从 Apache2.0 协议开源。 让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互隔离,性能开销极低。 Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版),我们用社区版就可以了。 2、

李宥的博客 9万+

docker技术介绍( 一)

一、Docker案例介绍 二、Docker概念介绍 三、Docker与虚拟机对比 四、Docker应用场景 五、Docker的实用性 六、Docker基本原理 七、Docker基本命令介绍 八、Docker调度工具介绍 九、Docker最佳实践

Docker技术简介

介绍 1.Docker是一个虚拟化平台,诞生于2013年初,基于Google公司的Go语言进行实现,可以通过虚拟化的方式 2.现阶段的所有的软件安装都是基于Docker进行实现,安装mysql过程不简单,要配置安装源,安装依赖包 Docker 核心对象 镜像(Image) Docker 镜像是一个特殊的文件系统(https://hub.docker.com/),镜像可以打包应用的运行环境以及应用程序,可以通过 Docker 启动这个镜像,进而将应用程序在一个容器中启动运行起来。在 Docker 镜像

WRSR52的博客 2006

用Python+NumPy手把手实现分数阶傅里叶变换(FRFT),搞定线性调频信号分析

本文详细介绍了如何使用Python和NumPy实现分数阶傅里叶变换(FRFT),特别针对线性调频信号(Chirp信号)分析。通过从零开始的代码实现和可视化案例,展示了FRFT在时变信号处理中的强大能力,帮助工程师和研究人员高效分析频率随时间变化的信号。

weixin_29062823的博客 218

Win64 驱动内核编程-16.WFP网络监控驱动(防火墙)

WFP驱动监控网络 WFP是微软推出来替代TDIHOOK、NDISHOOK等拦截网络通信的方案,WFP的框架非常庞大,在RING3和RING0各有一套类似的函数,令人兴奋的是,即使在R3使用WFP,也可以做到全局拦截访问网络。由于WFP的范围太广,实在难以一言概括,感...

墨鱼菜鸡 1033

docker技术简介

docker技术运用

roycer1的专栏 2392

Bootloader详解,理解Bootloader看这篇就够了

这里写目录标题一、Bootloader作用(目的)二、完成Boot最终目的的前提条件三、对前提条件的详细说明3.1、对前提条件(1)的说明:3.2、对前提条件(2)的说明:3.3、对前提条件(3)的说明:3.4、对前提条件(4)的说明:3.4、对前提条件(5)的说明:四、loader是干啥的 一、Bootloader作用(目的) Bootloader=Boot + loader Boot的目的: 最终目的:跳到C语言中;为了C语言运行程序会进行一系列的初始化,系统一上电后如何通过一系列的设置让软件程序员

iduuigdg的博客 11万+

Docker入门一(Docker介绍、Docker整体结构、Docker安装、镜像、容器、Docker的容器与镜像)

在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制。一般所指的虚拟化资源包括计算能力和资料存储。

Mchen的博客 1834

DeepLearningTool-深度学习分类-和HALCON的详细过程

损失函数:衡量预测误差,用于模型优化。混淆矩阵:评估分类模型性能,提供详细预测结果分析。两者结合使用,可以全面评估和优化模型。过拟合:模型过于复杂,捕捉了噪声,表现为训练集误差低,测试集误差高。欠拟合:模型过于简单,无法捕捉数据模式,表现为训练集和测试集误差都高。调整参数过拟合:简化模型、增加数据、使用正则化、早停、Dropout。欠拟合:增加模型复杂度、特征工程、增加训练时间、调整学习率、使用集成方法。通过合理调整参数和方法,可以有效避免过拟合和欠拟合,提升模型性能。

weixin_36672036的博客 6197

基于LSTM语义分析的企业风险预测系统

在数字化时代,企业面临着前所未有的挑战和机遇,而风险管理作为确保企业稳定发展的关键一环,其重要性日益凸显。为了及时、准确地监测和分析企业相关的风险,并预测可能带来的风险,本文介绍了一种基于长短期记忆(LSTM)语义分析的企业风险预测系统。该系统利用深度学习技术,通过将收集到的企业数据进行预处理和分析,结合LSTM模型对文本进行深度语义分析,从而实现对潜在风险的预测和评估。系统设计方面,该系统包括数据预处理、LSTM模型构建与训练、风险预测以及可视化展示等模块。

qiufangtaowvnyyidtf的博客 1393

docker详细介绍

Docker 是基于操作系统级别的虚拟化技术(LXC/LXD),通过共享宿主机内核实现轻量级隔离。每个容器包含应用程序及其依赖项,但不包含完整的操作系统内核。这种设计使得容器比传统虚拟机(VM)更加高效:启动速度:秒级启动 vs 分钟级启动(VM)。资源占用:MB 级内存 vs GB 级内存(VM)。性能损耗:接近原生性能 vs 虚拟化开销。

jin1476814059的博客 2879

6、高通8155座舱平台--摄像头系统

在项目中遇到过,很多从手机转过来的工程师,上来就按手机那套调Camera,结果发现根本跑不通——为什么?我踩过这个坑——一开始想靠软件打时间戳来对齐,结果发现两个sensor的曝光时间不一样,时间戳根本对不上。我记得第一次调AWB时,怎么调颜色都不对,后来发现是BLC的参数没配好——黑电平偏了,后面所有颜色校正都是错的。上层应用说「我要拍张照」,HAL把它翻译成「ISP你给我处理这帧数据,sensor你给我曝光一次」。8155上推荐用camx,它是高通新一代的Camera框架,性能更好,而且支持多路同步。

woailuojp的博客 59

Docker容器简介及部署方法

Docker是管理容器的引擎,为应用打包、部署平台,而非单纯的虚拟化技术轻量级虚拟化:Docker 容器相较于传统的虚拟机更加轻量和高效,能够快速启动和停止,节省系统资源。例如,启动一个 Docker 容器可能只需要几秒钟,而启动一个虚拟机则可能需要几分钟。一致性:确保应用程序在不同的环境中(如开发、测试、生产)具有一致的运行表现。无论在本地还是云端,应用的运行环境都能保持相同,减少了因环境差异导致的问题。可移植性。

hxdcxy的博客 1555

【学习系列】SAP RAP 17:RAP应用部署集成至Fiori Launchpad 【S4HC Public Edition】

本文详细介绍了在SAP S/4HANA Cloud环境中部署RAP应用集成到Fiori Launchpad的两种方法:使用BAS(SAP Business Application Studio)和VSCode。主要步骤包括:1)在BTP中配置Destination连接ES环境;2)设置信任关系;3)创建BAS开发空间;4)通过Fiori应用生成器部署RAP应用;5)创建IAM App、Business Catalog和Business Role;6)配置Launchpad Space和Pages。文章还提供

DeveloperMrMeng的博客 968

Unreal 从入门到进阶 之 如何实现Pixel Streaming

Unreal Engine 5 (UE5) 的 Pixel Streaming 是一项基于云端的实时流媒体技术,允许将 UE5 应用的高质量图形渲染结果通过 WebRTC 协议传输到用户的浏览器或轻量级设备,同时将用户输入(如鼠标、键盘、触控)回传到服务器处理。UE的插件相对比较好用,但是就是环境下载总是失败。希望这篇文章对你有所帮助。

TxNet 1372

3.docker创建容器 (docker容器命令)

1.nginx 容器拉取 2.运行创建一个nginx容器 # 查看镜像 docker images docker run --name myNginx-p 80:80 -d nginx 2.1. 命令解读 docker run : 创建并运行一个容器 –name : 给容器起一个名字, 比如叫做 myNginx -p : 将宿主机端口与容器端口映射, 冒号左侧是宿主机端口, 右侧是docker容器端口 -d : 后台运行容器 nginx : 镜像名称 , 例如nginx # 查看运行中的容

weixin_43627706的博客 3万+

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Docker容器相关技术简介

Namespces命名空间功能: 编程语言 封装--->代码隔离 操作系统 系统资源的隔离 进程、网络、问卷系统 五种命名空间: PID(Process ID)进程隔离 NET(Network)管理网络接口 IPC(InterProcess Communicatio) 管理跨进程通信的访问 MNT(Mount) 管理挂载点 UTS(Unix Timeshar...

weixin_30680385的博客 93

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Python3 - 深入学习Docker容器管理

本篇博文意在学习Docker原理, 深入理解docker容器管理, 镜像管理, 学会自定义镜像Dockerfile, 以及部署项目全流程, 灵活掌握Dockerfile关键字; 目标人群适合有一定的Python基础和Linux基础的人群。

韩俊强的博客 4058

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Java Docker和Docker容器简介

简而言之,Docker 是一个工具,它允许您通过使用所谓的容器轻松地构建、部署和运行应用程序。 这些容器允许我们打包所有必需的东西,比如库和依赖项。 此外,容器在主机操作系统上运行。 当我们使用 Docker 的时候有很多好处: 增强了应用程序的可移植性,并且可以非常轻松地创建测试应用程序,而不必依赖于环境 优化基础设施 将应用程序及其依赖项打包到标准化单元中 容器 我不是在谈论现实世界中的容器。但是,既然您正在思考它,我不妨作个比喻。现实生活中的容器的目的是存储需要运输到另一个地方的货物或物品。现在,

zenglintao的博客 1万+

Docker 相关技术学习总结

目录 零、Docker简单介绍总结 0-0 容器介绍 0-1 容器 vs 虚拟机 0-2 Docker的应用场景 0-3 Docker 内核依赖技术 0-4 Docker 所具备的功能 一、Docker容器技术前期准备 1-0 环境准备 1-1 pull 下载常用镜像 二、Docker容器技术的三大构成 2-0 三大构成的简单介绍 2-1 Docker各组成部分关系 三、...

LIN的博客 1016

Docker容器技术

Docker之父Docker就好比传统的货运集装箱。

LongHongYu908的博客 5375

容器docker入门学习

k8s也是一个软件,用来管理多台服务器上的docker容器的。如果因为镜像没有访问到的话,可以先关闭防火墙和重启docker服务进行解决,如果重启docker服务的话,可能会导致之前的镜像停止,所以先查看所有的容器,包括停止的,然后再启动已经停止的容器。1、docker的框架:一个真实的机器里面装一个linux系统,系统里面装docker,docker里面再装容器,每个容器里面装一个服务。k8s是管理容器运行时的软件(docker、containerd、rki等)—k8s理解为管理docker集群的软件。

m0_52165864的博客 1486

Docker学习(3) Docker容器

Linux中Docker容器操作

wang_8218的博客 890

学习Docker之Docker、容器和镜像的简介和常用命令

第一篇通过部署SpringBoot项目来见识到了Docker的强大点我,接下来就来简单聊聊什么是Docker? 什么是Docker 镜像与容器 Docker常用命令 问题 小王在工作之余接了个私单,功能很简单,开发完之后只要在本地将程序跑起来,就能完成客户的需求。于是小王每天晚上花个一两个小时去开发,一周之内搞定了,然而在远程给客户部署的时候,出现了各种各样的问题,光配置环境就花了两三

纸上得来终觉浅,绝知此事要躬行 1381
上一篇: 【Docker学习总结】2.Docker的基本组成介绍
下一篇: 【Docker学习总结】4.Docker安装和部署(Centos7上安装docker)
Rita楠神
博客等级 码龄9年 27粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值