Docker实战 王建飞 Docker 简介 Docker 是什么 Docker 是一个开源的应用容器引擎,可以自动化地部署应用到可移植的的容器中,这些容器独立于硬件、语言、框架、打包系统
一个标准的Docker 容器包含一个软件组件及其所有的依赖 ——二进制文件,库,配置文件,脚本等等
Docker 扩展了 LXC,使用高层的API,提供轻量虚拟化解决方案来实现进程间隔离
可以运行在任何支持 cgroups 跟 AUFS 的 64 位 Linux 内核上
同时,Docker 基于Go 语言开发,代码托管在 Github 上,并遵循 Apache 2
0 开源协议
Docker 容器可以封装任何有效负载,几乎可以在任何服务器之间进行一致性运行
换句话说,开发者构建的应用只需一次构建即可多平台运行
运营人员只需配置他们的服务,即可运行所有的应用
Docker 的常用案例包括: 自动打包和部署应用 创建轻量、私有的PaaS 环境 自动化测试和持续集成/部署 部署并扩展 Web 应用、数据库和后端服务器 下面的图片比较了 Docker 和传统虚拟化方式的不同之处,可见容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统,而传统方式则是在硬件层面实现
Docker 优势和劣势 作为一种新兴的虚拟化方式,Docker 跟传统的虚拟化方式相比具有众多的优势
首先,Docker 容器的启动可以在秒级实现,这相比传统的虚拟机方式要快得多
其次,Docker 对系统资源的利用率很高,一台主机上可以同时运行数千个 Docker 容器
容器除了运行其中应用外,基本不消耗额外的系统资源,使得应用的性能很高,同时系统的开销尽量小
传统虚拟机方式运行 10 个不同的应用就要起 10 个虚拟机,而 Docker 只需要启动 10 个隔离的应用即可
具体说来,Dock