1.为什么出现Docker
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
每次上线时,都需要在服务器部署环境,极其复杂且容易出错。
Docker的思想来源于集装箱,将应用与运行环境打包,通过隔离机制,将服务器运用到极致。
2.Docker的历史
2010年,美国几个年轻人成立了 dotCloud 公司,做一些pass的云计算服务,将自己的技术(容器化技术)进行统一的简化命名————Docker。
2013年,由于新创公司名气不高,所以选择开源,由此出名。
2014年, Docker 1.0 发布。
Docker优点:
容器出来之前,都是使用虚拟机技术,
虚拟机:在Windows中安装虚拟机软件(如:Vmware)。通过虚拟机软件可以虚拟出一台或多台电脑,但极其笨重。
Docker容器技术,也是一种虚拟化技术
vm:linux centos原生镜像(一个电脑) 隔离,需要开启多个虚拟机! 大小:几个G 启动时间:分钟
docker:隔离,镜像(最核心的环境 4m +jdk +mysql) 优点:小巧便捷 大小:几个M 启动时间:秒级
官网:https://www.docker.com/
文档:https://docs.docker.com/
仓库:https://hub.docker.com/
3.Docker能做什么
之前的虚拟机技术:
缺点:资源占用多、冗余步骤多、启动慢
Docker:
4.Docker和传统虚拟机技术不同
- 传统虚拟机,虚拟出一条硬件,运行一个完整的操作系统,在此基础上安装部署。
- 容器内的应用直接运行在宿主机的内容,容器是没有自己的内核的,也没有虚拟机的硬件,因此就轻便了。
- 每个容器相互隔离,每个容器都有一个属于自己的文件系统,互不影响。
5.开发、运维
更快速的交付和部署
传统:一堆帮助文档,安装程序。
Docker:打包镜像发布测试,一键运行。
更简单的系统运维
在容器化之后,开发,测试环境都是高度一致的。
更高效的计算机资源利用
在一个物理机上可以运行很多容器实例。