- 1. 前言
- 2.1. Linux 简介与安装
- 2.2. Linux 目录结构
- 2.3. Linux 命令
- 3.1. Linux 用户管理
- 3.2. Linux 权限规划 Authority Division:ACL 权限控制
- 4.2. Linux 计划任务 - 例行性工作排程
- 4.3. Linux 程序管理和 SELinux 初探
- 4.7. Linux 防火墙
- 5.1. Linux 网络基础
- 5.3. FTP:Vsftp
- 6.4. 虚拟化概述
- 6.5. Docker
- 7.1. GCC
- 7.5. 使用 you-get 和 youtube-dl 下载 YouTube 视频列表
- 7.6. MPlayer
- 7.7. google-chrome & chromium
- 7.8. Scrot:截图工具
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
6.5. Docker
6.5.1. 简介
Docker 是个划时代的开源项目,它彻底释放了计算虚拟化的威力,极大提高了应用的维护效率,降低了云计算应用开发的成本!使用 Docker,可以让应用的部署、测试和分发都变得前所未有的高效和轻松!
Docker 和传统虚拟化方式的区别
对比虚拟机
特性 | 容器 | 虚拟机 |
---|---|---|
启动速度 | 秒级 | 分钟级 |
性能 | 接近原生 | 较弱 |
内存代价 | 很小 | 很大 |
硬盘使用 | 一般为 MB | 一般为 GB |
运行密度 | 单机支持上千个容器 | 一般几十个 |
隔离性 | 安全隔离 | 完全隔离 |
迁移性 | 优秀 | 一般 |
Docker architecture
传统方式是在硬件层面实现虚拟化,需要有额外的虚拟机管理应用和虚拟机操作系统层。Docker 容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统,因此更加轻量级。
Docker 的构想是要实现 Build, Ship and Run Any App, Anywhere,即通过对应用的封装(Packaging)、分发(Distribution)、部署(Deployment)、运行(Runtime)生命周期进行管理,达到应用组件级别的“一次封装,到处运行”。这里的应用组件,既可以是一个 Web 应用、一个编译环境,也可以是一套数据库平台服务,甚至是一个操作系统或集群。
IBM DeveloperWorks 网站关于容器技术的描述十分准确:容器有效地将由单个操作系统管理的资源划分到孤立的组中,以更好地在孤立的组之间平衡有冲突的资源使用需求。与虚拟化相比,这样既不需要指令级模拟,也不需要即时编译。容器可以在核心 CPU 本地运行指令,而不需要任何专门的解释机制。此外,也避免了准虚拟化(para-virtualization)和系统调用替换中的复杂性。
为什么要用 docker?
- 更高效的利用系统资源
- 更快速的启动时间
- 一致的运行环境
- 持续交付和部署
- 更轻松的迁移
- 更轻松的维护和扩展
- 对比传统虚拟机总结
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论