Docker(linux container) 所依赖的底层技术
来源:互联网 发布:在家做淘宝客服靠谱吗 编辑:程序博客网 时间:2024/06/05 00:53
Docker(linux container) 所依赖的底层技术
1. Namespace
用来做PID的隔离,有了namespace,在docker container里头看来,就是一个完整的linux的世界。在host看来,container里的进程,就是一个普通的host进程,namespace提供这种pid的映射和隔离效果,host承载着container,就好比造物者创造一个个世外桃源。
2. Cgroups
cgroup用于内存,cpu和io速率的隔离。
3. Chroot
如何在container里头,看到的文件系统,就是一个完整的linux系统,有/etc、/lib 等,通过chroot实现。
4. Veth
container里,执行ifconfig可以看到eth0的网卡,如何通信呢?其实是在host上虚拟了一张网卡出来(veth73f7),跟container里的网卡做了桥接,所有从container出来的流量都要过host的虚拟网卡,进container的流量也是如此。
5. Union FS
对于这种叠加的文件系统,有一个很好的实现是AUFS,在Ubuntu比较新的发行版里都是自带的,这个可以做到以文件为粒度的copy-on-write,为海量的container的瞬间启动,提供了技术支持,也会持续部署提供了帮助。不过以文件为粒度的copy-on-write带来一个问题,就是修改大文件时候,需要复制整个大文件进行修改,效率堪忧。
6. Iptables, netfilter
主要用来做ip数据包的过滤,比如可以做container之间无法通信,container可以无法访问host的网络,但是可以通过host的网卡访问外网等这样的网络策略。
7. TC
主要用来做流量隔离,带宽的限制。
8. Quota
用来做磁盘读写大小的限制,区别于cgroups对blkio的控制,quota是用来限制用户可用空间的大小。
9. Setrlimit
可以限制container中打开的进程数,限制打开的文件个数等。
- Docker(linux container) 所依赖的底层技术
- Docker依赖的底层技术
- docker技术和container技术
- 用白话的方式介绍Docker和Container技术
- Docker学习笔记-----Docker所必须的技术
- Docker: the Linux container engine
- Docker引领Container虚拟化技术浪潮
- 基于Linux操作系统的底层驱动技术
- Docker container常用的命令
- 【docker 底层知识】Linux 内核的 namespace 机制分析
- 实现容器的底层技术-每天5分钟玩转 Docker 容器技术(30)
- Docker libcontainer unifies Linux container powers
- 2014 Container技术大会:未来Linux Container会是PaaS平台的核心
- linux下如何查询未知库所依赖的包
- Linux ldd -- 查看可执行文件所依赖的动态链接库
- 【Docker】构建mysql的image和container
- docker如何构建Container的host信息
- docker(container)的结构和虚拟网络
- HASH JOIN ,MERGE JOIN ,NESTED LOOP 比较
- 第12周-多继承、虚基类,继承和组合-项目1-教师兼干部类
- 黑马程序员-----String,StringBuffer,StringBulider区别
- Ubuntu安装JDK,Scala
- HTML略知一二 (一)
- Docker(linux container) 所依赖的底层技术
- [DP][01背包]01\完全\多重背包模板
- windows下C++调用shell启动和关闭可执行文件exe的最简单方法
- 河北工行回应“储户千万存款失踪”:不法分子诈骗
- H2数据库使用
- 两个相交的圆形,第一个圆形内包含很多点,第二个圆内包含很多点,现在要求两个圆内相交的点是哪些,用随便的java或matlab算法如何实现呢?
- UVA1336修缮长城
- 求取最长回文字符串,o(n)的最优算法manacher
- UITableView的分组示例及常用方法