一.docker简介
1、docker定义:docker是一个用来装应用的容器,就像杯子可以装水,笔筒可以装笔,书包可以放书一样。你可以把“Hello World!”放到docker中,也可以把网站放到docker中,你可以把任何你想到的程序放到docker中。
2、docker思想:
(1)集装箱
(2)标准化 (运输方式、存储方式、API接口)
运输方式(docker鲸鱼负责运输)
存储方式(不用关心存在哪,存在哪个盘)
API接口的标准化:Docker提供了一系列的RESTFUL API接口,包含了对Docker也就是对应用的控制,其中包括停止 查看 删除等等
(3)隔离:
最底层的技术实际上是一种linux的一种内核的限制机制,叫做LXC,LXC是一种轻量级的容器虚拟化技术,最大效率的隔离了进程和资源,通过cgroup namespace等限制隔离进程组所使用的物理资源,如CPU I/O Memory等等。
3、docker解决的问题
(1)docker解决了运行环境不一致带来的问题
(2)docker隔离性,每台服务器相互隔离,互不影响,可以保证自己运行的程序不受其他程序的影响。
(3)一键化部署服务器(例如双11,服务器数量。。。),docker的标准化让快速扩展,弹性伸缩变得简单。
4、docker的构成
(1)Build - 构建镜像 - [镜像 类比 集装箱] :
docker镜像就是image。从本质上来说镜像就是一系列的文件(包括应用程序的文件,也包括应用环境的文件),以联合文件系统分层的形式保存到本地;docker中的文件系统都是只读的。
(2)Ship - 运输镜像(从仓库和我们的主机上运输)- [仓库 类比 超级码头] :
构建镜像的目的:是为了在其他的服务器,其他的环境运行我们的程序。(为了在其他地方运行,我们就需要将