docker为什么出现?
一款产品:开发–上线 两套环境, 两套配置
开发 和 运维 问题:在我的电脑上可以运行,版本更新,导致服务不可用!对于运维来说,考验十分的大
开发即是运维的情况下更是如此,每一个机器都要部署环境,浪费时间和人力,容器化,项目带着环境来打包,配置很麻烦,也有部分不能跨平台比如开发win,打包到linux
传统思想 : 开发jar 运维来做
现在 : 开发打包部署上线,一套流程做完
为什么docker厉害?
java --apk --发布 — 张三使用 apk — 安装即可用!
java —jar —打包项目带上环境(镜像) — (docker仓库镜像)–下载开发人员上传的镜像 – 直接就可以运行
docker根据以上的问题给出了解决方案
docker的思想来自于集装箱
JRE - -多个应用—原来是交叉的
docker的核心思想 : 隔离,打包装箱,每个箱子都是互相隔离的
Docker通过隔离机制,让服务器更好的发挥
本质 : 所有的技术都是出现了问题,我们需要去解决
Docker的历史和作用
2010,几个搞it的年轻人,最开始的时候并不叫 Docker dotcloud
做一些pass的云计算服务,LXC有关的容器技术
他们将自己的技术(容器化技术)同一的命名为 Docker
应为刚诞生所以没什么基础,于是乎领导人们选择了将Docker的源码开放
开源之后的Docker一瞬间就火了
为什么Docker火起来了,应为相比虚拟机,Docker要更加的轻量
虚拟机 :
一般都是再win中安装Vmware 通过这个技术我们可以虚拟出来一台电脑或者是多台电脑,但是占用过大,随便一个镜像就是十几个g,十分的笨重
虚拟机技术的缺点:
资源占用十分多
开机关机需要时间
运行完整的操作系统,还要安装运行软件
Docker :
相比之下Docker就显得格外的小巧。隔离,镜像(核心的环境4m+jdk+mysql)需要的时候我们只需要去运行镜像就可以了,大大提升了灵活性
Docker技术 :
运行在操作系统之上,容器没有内核,也不用虚拟硬件
每个容器是互相隔离的,又属于自己的文件系统,不会互相的影响
了解了Docker的作用,可以知道我们程序员掌握Docker是十分的必要的
社区文档
Docker的社区文档是十分的详细的
文档连接 : https://docs.docker.com/
Docker仓库地址 : https://www.docker.com/products/docker-hub
DevOps(开发和运维)
他的宗旨是什么
应用更快速的交付和部署
传统 : 一堆帮助文档,安装程序
Docker:打包镜像发布测试,一键运行
更便捷的升级和扩容
使用了Docker之后,我们部署的应用和搭积木一样
项目打包成一个镜像,扩展到服务器A,服务器B
更简单的系统运维
在容器化之后,我们的开发,测试环境,高度的一致
更高效的计算资源利用
Docker是内核级别的虚拟化,可以在一个物理机上运行很多的容器实例