(一) 需求场景
现在某公司需要增加5000台服务器,该怎么办,一台一台的装?
装一个操作系统需要20分钟,而且手动装出的环境不一样.非常不好,而且效率低.
(二) Docker的引入
1 - Docker的作用
Docker提供轻量的虚拟化,通过docker镜像能创建出多个容器,一个容器相当于一个虚拟机.可以把镜像快速的部署到无数台服务器上.
2 - Docker与虚拟机对比
每个虚拟机需要安装一个操作系统
(1) 虚拟机:资源全部隔离,CPU,内存,磁盘相互独立,一台宿主机中可以安装的虚拟机数量是一定的,有限的,移植性不强(文件很大,拷贝传输困难).
(2)Docker:部分资源部分隔离,共享CPU,内存,磁盘甚至操作系统,极为轻量.
3 - Docker的五大要素
(1)沙箱:隔离,将应用之间的必要资源隔离开,防止互相影响,应用之间相互独立.
(2)镜像:模板,centos+tomcat+mysql+redis,镜像可拆分,传输用dockerfile
(3)容器:镜像的实例,镜像只读,容器可写,容器中可以保存应用产生的临时文件
(4)数据卷:挂载到容器上,用于保存必要数据.比如容器中数据库的数据,但是不建议用,因为重启容器需要挂载同步数据,效率慢.解决方式:数据库拆分
(5)仓库:与maven仓库概念一致,应用都会保存在仓库中,创建容器是根据镜像的规定进行拉取,可以共享.
4 - Docker的版本及要求
Docker基于linux3.8及以上版本内核开发,所以在使用docker前需要确认linux内核版本,一般在centos7以上.
查看linux版本命令: uname -a
(三) Docker -- Redis案例
创建redis容器 linux 命令: docker run -d --name redis7000 -p 7000:6379 redis:3.2.8
参数说明:
(1) -d 则容器(containter) 将会运行在后台模式
(2) -name 实例名称
(3) -p 对外程序访问端口7000,宿主机映射的redis端口6379
(4) 最后的redis3.2.7 为镜像名称
(四) 部署项目 -- 服务器结构图
windows浏览器中访问 http://虚拟机IP:8080 ,能看到tomcat首页
(五)Docker总结与扩展
Docker容器一般用于部署重复相同的服务,如:redis集群,tomcat集群等。适用于快速高效集群扩展。整个过程全自动,省去了运维成本。
我们微小的像尘埃
漂浮在一片无奈