一、关于docker的隔离,有很多文章都有介绍。但docker没有隔离什么呢?

SELinux、 Cgroups以及/sys、/proc/sys、/dev/sd*等目录下的资源是与宿主机共用的,而且多个container与宿主机共用同一个内核。所以说docker是弱隔离,他没有隔离的那么彻底,但如果要隔离的彻底那就是VM了,而且如果dockers要想实现这些隔离就必然要牺牲一下现在轻量级的特性。

二、以下是我对docker的隔离性的理解

docker 通过什么实现隔离呢?通过内核的namespace,包括进程、网络、进程间通信信号、文件系统、用户等,不同的docker使用不同的namespace.

1、进程的namespace, docker container里运行的进程的父进程是这个docker container的进程。这样不同的container 之间进程就被隔离开了。

2、网络的namespace ,每个container 都有自己的虚拟网络设备,IP地址,路由。

3、进程间交互的namespace,每个container 内的进程可以实现进程进的信号、共享内存、消息队列的交互

4、mnt的namespace ,不同的namespacer进程看到的文件结构是不同的

5、UTS 的namespace ,不同的container 可以有自己的hostname和domainame

6、用户的namespae,每个container可以有自己的用户和用户分组

转载于:https://blog.51cto.com/zhangkechen/1688521

对docker隔离性的理解相关推荐

  1. Docker安全加固——利用LXCFS增强docker容器隔离性和资源可见性

    前言 lxcfs是一个开源的FUSE(用户态文件系统)实现来支持LXC容器. LXCFS通过用户态文件系统,在容器中提供下列 procfs 的文件: /proc/cpuinfo /proc/disks ...

  2. Docker容器实现原理及容器隔离性踩坑介绍

    2019独角兽企业重金招聘Python工程师标准>>> 正如Docker官方的口号:"Build once,Run anywhere,Configure once,Run ...

  3. 理解事务四大特性(Transaction)——原子性、一致性、隔离性和持久性(ACID)

    事务是指对系统进行的一组操作,为了保证系统的完整性,事务需要具有ACID特性,具体如下: 1. 原子性(Atomic) 原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生. ...

  4. mysql业务数据库回退_理解MySQL数据库事务-隔离性

    Transaction事务是指一个逻辑单元,执行一系列操作的SQL语句. 事务中一组的SQL语句,要么全部执行,要么全部回退.在Oracle数据库中有个名字,叫做transaction ID 在关系型 ...

  5. Rocksdb 事务(一): 隔离性的实现

    文章目录 前言 1. 隔离性 2. Rocksdb实现的隔离级别 2.1 常见的四种隔离级别 2.2 Rocksdb 支持的隔离级别及基本实现 2.2.1 ReadComitted 隔离级别的测试 2 ...

  6. 什么是事务、事务的四个特性ACID、不考虑隔离性会导致的三个问题、四种隔离级别

    什么是事务.事务的四个特性ACID.不考虑隔离性会导致的三个问题.四种隔离级别 1 什么是事务 2 事务的四大特性ACID 2.1 原子性 2.2 一致性 2.3 隔离性 2.4 持久性 3 不考虑隔 ...

  7. Mongodb的锁 原子性 隔离性 一致性

    读写锁 Mongodb使用读写锁来来控制并发操作: 当进行读操作的时候会加读锁,这个时候其他读操作可以也获得读锁.但是不能或者写锁. 当进行写操作的时候会加写锁,这个时候不能进行其他的读操作和写操作. ...

  8. 跟面试官侃半小时MySQL事务隔离性,从基本概念深入到实现

    来源 | 阿丸笔记 提到MySQL的事务,我相信对MySQL有了解的同学都能聊上几句,无论是面试求职,还是日常开发,MySQL的事务都跟我们息息相关. 而事务的ACID(即原子性Atomicity.一 ...

  9. mysql隔离性与隔离级别

    提到事务,你肯定会想到 ACID(Atomicity.Consistency.Isolation.Durability,即原子性.一致性.隔离性.持久性),今天我们就来说说其中 I,也就是" ...

最新文章

  1. 2021未来职业规划以及对过去的总结
  2. 微软云之路——Windows Azure 学习
  3. MDaemon邮件服务器在WorldClient新增的聊天功能
  4. Python-Matplotlib可视化(1)——一文详解常见统计图的绘制
  5. js打印到控制台_前端JS,8个问题测试你真的懂吗(高频面试题,附答案)
  6. 清理了两位同事的机器,走人时要自行清理
  7. Windows安装和设置教程
  8. 002-Mac怎么给Photoshop添加字体
  9. Ubuntu 16.04安装sogou拼音输入法
  10. js中求2个数的最大值的几种方法
  11. 良心教程教你如何使用Excel简单绘制数据图表。
  12. vue3的逻辑复用抽离
  13. Python 实现图片裁剪(附代码) | Python工具
  14. easyrecovery15最新版数据恢复类软件测评
  15. 上海数据交易中心成立
  16. 【Pygame小游戏】神还原【欢乐无穷的双人坦克大战】小程序游戏,上手开玩~(附完整源码)
  17. SQL进阶之路03:三值逻辑和NULL
  18. oracle查询某表是否存在,oracle判断表中某记录是否存在的方法
  19. java adt monkeyrunner_MonkeyRunner初学者安装问题
  20. 团队任务管理该怎么做才高效?管理者应该学会这些

热门文章

  1. 北大教授证明黎曼猜想?但在前一天取消了
  2. 腾讯美的入股的语音AI公司SoundHound,拿什么挑战谷歌亚马逊?
  3. vue 数组重复,循环报错
  4. 数人云|7大ChatOps5种团队协作工具助力DevOps实践
  5. 各国网络安全审查制度及案例分析
  6. ubuntu换系统下载路径源
  7. 重磅炸弹!马云正式宣布:1天1个亿,全世界沸腾了!
  8. GetConsoleWindow was not declared in this scope
  9. IE6layout元素自动包含浮动元素
  10. 1600802047 android 第三次作业(音乐播放器)