docker容器启动的问题 - docker容器和虚拟机的比较 - docker的底层隔离机制

news2024/11/20 8:33:54

目录

一、docker容器启动的问题?

二、什么是docker仓库?

三、虚拟机和docker容器的区别:

docker的优势:

docker的缺点:

对比:

四、docker的底层隔离机制

参考文献:LXC linux容器简介——在操作系统层次上为进程提供的虚拟的执行环境,限制其使用的CPU和mem等资源,底层是linux内核资源管理的cgroups子系统 - bonelee - 博客园 (cnblogs.com)

1.LXC是什么?

2.LXC可以做什么?

3.namespqce命令空间:

4.cgroup是什么,它的作用是什么?


一、docker容器启动的问题?

当我们需要重新启动docker容器的时候,我们将使用

service docker restart   

但是会产生问题,就是我们的docker内正在运行的容器全部都停止了,因此我们在使该命令的时候,一定要注意该问题 。   

当我们启动docker的时候,会自动帮助我们生成iptabels规则

当我们清除iptables内的规则后,会导致docker容器不能和外部机器通信

解决方法就是重新启动docker容器,会重新添加iptables规则

因此当我们在docker容器运行的时候,关闭防火墙或者清除防火墙规则的时候,会导致iptables里的docker相关的SNAT或者DNAT策略失效,导致容器不能和外部的机器通信

重新启动docker容器 

(建议一个容器里只跑一个软件)

二、什么是docker仓库?

就是集中存放镜像的地方(像是镜像的集市,可以下载别人制作的镜像)

docker hub官网(https://hub.docker.com/)

我们能自己搭建私有仓库:(HarBor、Docker Registry)一文教会你如何高效地搭建Docker私有仓库_docker_脚本之家 (jb51.net)

三、虚拟机和docker容器的区别:

官方文档解释:What is a Container? | Docker

docker的优势:

1、启用速度快

2、资源消耗小

        资源消耗可以控制、如cpu和内存、磁盘速度和iops等

        共用宿主机器的内核、基础镜像、消耗的内存小

3、扩展方便

        HPA

        增加和减少容器

docker的缺点:

在app隔离这块、没有虚拟机彻底 

虚拟机的安全性要高于docker

对比:

并且docker和虚拟机的层次不一样,其中虚拟机会多一层封装

四、docker的底层隔离机制

所有的容器运行起来都是一个进程

进程与进程之间的隔离是靠操作系统来完成的        

所有的进程都是共享linux操作系统的内核的

Docker底层的隔离机制主要包括以下两个方面:

  1. 基于Linux内核的命名空间(Namespace):Docker使用了Linux内核提供的六种类型的命名空间,包括Mount Namespace、UTS Namespace、IPC Namespace、PID Namespace、Network Namespace和User Namespace。通过这些命名空间,Docker实现了不同容器之间的隔离,每个容器都拥有自己独立的系统资源视图和命名空间。

  2. 基于Linux内核的控制组(CGroup):Docker使用了Linux内核提供的cgroups机制,通过对不同的进程组进行资源限制、控制和统计,实现了对容器内资源的限制和管理。例如,Docker可以使用cgroups来限制容器内进程的CPU、内存、磁盘I/O等资源使用。

总的来说,Docker是通过结合Linux内核提供的命名空间和cgroups机制来实现容器隔离和资源管理的。这种机制可以实现快速启动、轻量级的容器态虚拟化,同时也能够提高资源利用率和系统安全性。

参考文献:LXC linux容器简介——在操作系统层次上为进程提供的虚拟的执行环境,限制其使用的CPU和mem等资源,底层是linux内核资源管理的cgroups子系统 - bonelee - 博客园 (cnblogs.com)

1.LXC是什么?

LXC是Linux containers的简称,是一种基于容器的操作系统层级的虚拟化技术

2.LXC可以做什么?

LXC可以在操作系统层次上为进程提供的虚拟的执行环境,一个虚拟的执行环境就是一个容器。可以为容器绑定特定的cpu和memory节点,分配特 定比例的cpu时间、IO时间,限制可以使用的内存大小(包括内存和是swap空间),提供device访问控制,提供独立的namespace(网络、 pid、ipc、mnt、uts)。

3.namespqce命令空间:

namespace 叫做命名空间:命名空间可以用来隔离资源

namespace是Linux内核提供的一种机制,用于隔离进程间共享的系统资源。通过namespace,一个进程可以看到自己所使用的系统资源,而看不到其他进程所使用的系统资源。        

通过namespace,可以实现在同一台计算机上运行多个相互独立的进程,每个进程可以有自己独立的系统视图和资源空间,不同进程之间互相隔离,从而提高了安全性和可靠性。

Linux内核提供了以下6种类型的命名空间:

  1. Mount Namespace(挂载命名空间):用于隔离文件系统挂载点,每个挂载命名空间都有自己独立的文件系统树和挂载点列表。

  2. UTS Namespace(UTS命名空间):用于隔离主机名和域名,每个UTS命名空间都有自己独立的主机名和域名。

  3. IPC Namespace(IPC命名空间):用于隔离进程间通信(IPC)资源,包括消息队列、共享内存段和信号量等。

  4. PID Namespace(PID命名空间):用于隔离进程ID,每个PID命名空间都有自己独立的进程ID空间,这使得进程可以在容器中运行,而不会干扰宿主机上的其他进程。

  5. Network Namespace(网络命名空间):用于隔离网络资源,包括网络接口、路由表、iptables规则、/proc/net目录等。

  6. User Namespace(用户命名空间):用于隔离用户ID和组ID,每个用户命名空间都有自己独立的用户ID和组ID,这可以帮助防止未授权的访问和提高安全性。

通过这些命名空间,Linux内核可以为不同的应用程序提供独立的运行环境,实现各种隔离和虚拟化技术。

4.cgroup是什么,它的作用是什么?

cgroup(Control Group)是Linux内核提供的一种机制,用于限制、控制和统计进程组的资源使用。通过cgroup,可以将一组进程与一个或多个资源控制器相关联,从而限制它们可以使用的CPU、内存、I/O等系统资源。

具体来说,cgroup可以实现以下功能:

  1. 限制CPU使用:通过cgroup,可以限制一组进程能够使用的CPU时间片数,以及CPU使用率等。

  2. 限制内存使用:通过cgroup,可以限制一组进程能够使用的内存大小,以及内存交换、OOM行为等。

  3. 控制磁盘I/O使用:通过cgroup,可以限制一组进程能够使用的磁盘I/O带宽和IOPS等。

  4. 统计资源使用:通过cgroup,可以统计一组进程所使用的各种资源的使用情况,如CPU时间、内存使用等。

cgroup在容器技术等领域被广泛应用,可以帮助实现对容器资源的隔离和管理。例如,在Docker容器中,使用cgroup可以限制容器的CPU、内存和磁盘I/O使用,从而保证容器之间互不干扰,提高容器的可靠性和安全性。

 

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

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

相关文章

前端项目架构怎么搭

前端项目架构 文章目录 **前端项目架构** **框架选型标准****异常处理****自动化构建** **(打包)****基础组件****公共方法封装****目录结构分配原则** 框架选型标准 ​ 框架的选型需要考虑很多因素,如该技术能否可以满足业务需求、浏览器支…

《大卫科波菲尔》社会网络分析

《大卫科波菲尔》社会网络分析 1.简介1.1数据集介绍1.2社会网络分析简介1.3《大卫科波菲尔》介绍 2.描述性统计3.网络概述4.社区发现5.好句摘抄6.总结和不足 1.简介 1.1数据集介绍 Newman教授的个人数据网站 网址:http://www-personal.umich.edu/~mejn/netdata/ 从…

网络设备容量测试该如何进行?

网络设备容量测试该如何进行? 网络设备容量测试是现代IT运维管理中的重要内容之一。随着企业对网络带宽需求的不断增加,为了更好地满足用户需求和提升网络性能,进行网络设备容量测试显得尤为重要。那么,网络设备容量测试该如何进行呢? 首先…

转行大数据该怎么学

大数据分析主要面向于离线计算。负责数据分析、报表统计等工作,重于数据价值的体现;数据的ETL调度,即E抽取、T转换、L加载,着重于离线数据的流转。虽然工作形式比较单一,但日常需求比较多,尤其是节假日的数…

UE特效案例 —— 武器附魔

一,环境配置 创建默认地形Landscape,如给地形上材质需确定比例;添加环境主光源DirectionalLight,设置相应的强度和颜色;PostProcessVolume设置曝光,设置Min/Max Brightness为1; 与关闭Game Sett…

从数据中台实践,浅谈数据质量管理

时代背景 近20年来,我国的科学技术发展日新月异,各种新兴技术层出不穷,深刻的改变着各行各业,也改变着我们的生活。大数据、云计算、人工智能的出现更是将技术革命推向了高潮。在这种背景下,继农业经济、工业经济之后&…

NSS周常刷密码(3)

[LitCTF 2023]md5的破解 from hashlib import md5 from string import ascii_lowercase,digits import itertools f1 LitCTF{md5can3derypt213thoughcrsh} for i in itertools.product(ascii_lowercasedigits, repeat4):t .join(i)flag f1[:13] t[:2] f1[13:16] t[2] f…

d2l_第四章学习_Classification/Softmax Regression

x.1 Classification 分类问题理论 x.1.1 Classification和Regression的区别 注意,广义上来讲,Classification/Softmax Regression 和 Linear Regression 都属于线性模型。但人们口语上更习惯用Classification表示Softmax Regression,而用Re…

13. ReentrantLock、ReentrantReadWriteLock、StampedLock讲解

13.1 关于锁的面试题 ● 你知道Java里面有那些锁 ● 你说说你用过的锁,锁饥饿问题是什么? ● 有没有比读写锁更快的锁 ● StampedLock知道吗?(邮戳锁/票据锁) ● ReentrantReadWriteLock有锁降级机制,你知道…

linux实验四 vi编辑器及用户管理

1、vi编辑器的详细使用 (1)在用户主目录下建一个名为vi的目录。 (2)进入vi目录。 (3)将文件/etc/man_db.conf复制到当前目录下,并用命令sudo修改man_db.conf的属性为所有用户可以读写。 &am…

华为OD机试真题 JavaScript 实现【贪心的商人】【2023Q1 100分】

一、题目描述 商人经营一家店铺,有number种商品,由于仓库限制每件商品的最大持有数量是item[index],每种商品的价格在每天是item_price[item_index][day],通过对商品的买进和卖出获取利润,请给出商人在days天内能获取…

SQL高级之order by优化

简介 MySQL支持两种方式的排序,FileSort和Index,其中Index的效率较高他是指MySQL扫描索引本身完成排序。FileSort方式效率较低 使用Index 一般情况下ORDER BY满足两种情况会使用索引排序 ORDER BY语句使用索引最左前列使用where子句与order by 子句条…

复习之linux虚拟化的介绍

一、虚拟化客户端及工具的安装 1.在虚拟机westos中列出: ps:虚拟机中安装虚拟机无意义,这里指是做实验看清楚虚拟机的创建! # dnf group list --hidden irtualization Client :虚拟化客户端 Virtualization Tools &…

稳定性治理二,稳定性分析

目录 重新认识系统稳定性(SLA与系分)稳定性分析(单点,容量和性能,依赖,数据保护,安全,资损,弹性能力,业务连续性,变更控制)压测方案&a…

面向对象3构造器

类的成员之三:构造器(Constructor) 我们 new 完对象时,所有成员变量都是默认值,如果我们需要赋别的值,需要 挨个为它们再赋值,太麻烦了。我们能不能在 new 对象时,直接为当前对象的 某个或所有成员变量直接…

美团买菜基于 Flink 的实时数仓建设

摘要:本文整理自美团买菜实时数仓技术负责人严书,在 Flink Forward Asia 2022 实时湖仓专场的分享。本篇内容主要分为四个部分: 1. 背景介绍 2. 技术愿景和架构设计 3. 典型场景、挑战与应对 4. 未来规划 Tips:点击「阅读原文」免…

ReentrantLock实现原理-条件锁

在前两篇文章中,我们了解了ReentrantLock内部公平锁和非公平锁的实现原理,可以知道其底层基于AQS,使用双向链表实现,同时在线程间通信方式(2)中我们了解到ReentrantLock也是支持条件锁的,接下来我们来看下,…

ISO21434 网络安全支持终止与退役(十一)

目录 一、概述 二、目标 三、网络安全支持终止 3.1 输入 3.2 要求和建议 3.3 输出 四、退役 4.1 输入 4.1.1 先决条件 4.1.2 进一步支持信息 4.2 要求和建议 4.3 输出 一、概述 退役不同于结束网络安全支持。一个组织可以结束对一个项目或组件的网络安全支持&#…

【Linux】常用命令总结

Yan-英杰的主页 悟已往之不谏 知来者之可追 C程序员,2024届电子信息研究生 目录 1.登录操作 2.操作系统 a.os是什么? b.好的操作系统的衡量指标?为什么要有操作系统? 3.Linux下的基本指令 a.ls指令 b.pwd指令 c.cd指令 d…

SB领导的特征

越是SB领导,往往越有这9大特征,难怪员工不服气。 孔子曾说过:“视其所以,观其所由、察其所安、人焉善哉?” 领导也是如此,想要判断领导是不是SB,关键就看他的所作所为。 越是“SB”的领导&#…