1.docker理念
Docker是基于Go语言实现的云开源项目。
Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,也就是通过对应用组件的封装,分发,部署,运行等生命周期的管理,使用户的应用及其运行环境能够做到”一次镜像,处处运行“。避免因为配置环境不一样,版本缺失,第三方引入包的依赖不同导致的各种发布上线的问题。
2.Docker与传统虚拟化方式的不同
1.传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程。
2.容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核且也没有进行硬件虚拟。因此容器比传统虚拟机更为轻便。
3.每个容器之间互相隔离,每个容器有自己的文件系统,容器之间进程不会相互影响,能区分计算资源。
3.Docker优势
1.更快速的应用交付和部署。
2.更便捷的升级和扩缩容。
3.更简单的系统运维。
4.更高效的计算资源利用。
4.Docker的基本组成(三要素)
以java为例:镜像就是java类,容器就是通过类模板new出来的一个个实例对象,仓库就是存放镜像的地方。