1、什么是 Docker
Docker是一个容器化平台,它以容器的形式将你的应用程序及所有的依赖项打包在一起,以确保你的应用程序在任何环境中无缝运行。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
2、Docker 和虚拟机有啥不同
Docker 是轻量级的沙盒,在其中运行的只是应用,虚拟机里面还有额外的系统。
3、Docker 与 LXC(Linux Container)有何不同
LXC 利用 Linux 上相关技术实现容器,Docker 则在如下的几个方面进行了改进:
- 移植性:通过抽象容器配置,容器可以实现一个平台移植到另一个平台;
- 镜像系统:基于 AUFS 的镜像系统为容器的分发带来了很多的便利,同时共同的镜像层只需要存储一份,实现高效率的存储;
- 版本管理:类似于 GIT 的版本管理理念,用户可以更方面的创建、管理镜像文件;
- 仓库系统:仓库系统大大降低了镜像的分发和管理的成本;
- 周边工具:各种现有的工具(配置管理、云平台)对 Docker 的支持,以及基于Docker 的 Pass、CI 等系统,让 Docker 的应用更加方便和多样化。
4、Docker 与 Vagrant 有何不同
两者的定位完全不同。
Vagrant 类似于 Boot2Docker