docker(一):docker是什么?

认识容器:docker入门篇

docker是什么?

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。(摘自百度百科)

这里我总结归纳下重点是:

打包容器。

打包  成  容器

众所周知,一个Java 应用 war包或者jar包 启动成功,有能够对外提供服务的能力(能正常访问页面,做操作),需要部署到一台有tomcat的linux环境中。

没有容器技术前的上线流程通常出现这样的或那样的问题,比如:

1.开发环境没错,测试环境报错---->排查后发现是启动脚本里,jdk版本不对

2.测试环境没错,生产环境报错  -->排查发现是tomcat版本和jdk不匹配。

然后:

开发、运维、测试同事都很头痛,都觉得自己没问题,

总结会的时候还要扣绩效,

虽说不容易出事情,单出了事情 很影响新产品上线效率。

 

有个   打包   机制就不一样了,他会很强,强到可以把我这个应用运行时(能正常对外提供服务),需要的  一切 ,包括tomcat,jdk,甚至是linux文件都  打包 到一起。

 

这个打出来的包叫做镜像。 镜像运行时叫做容器。

可以发现 镜像可以很方便的做迁移,备份,存储,交付。

运行镜像,能对外提供服务能力的镜像运行时,叫做容器。

 

这样,打出来的包,优点就出来了

1.环境的强一致性。docker镜像提供了除内核外完成的运行时环境,保证其他使用人员,能完整复现应用运行时环境。不会出现“这应用在xxx环境没问题”这种情况。

2.迁移方便,持续交付和部署。一次打包,到处运行。

 

容器和虚拟机的区别

App在虚拟机中运行时,调用需要经过虚拟化软件的处理,才能调用到真正的宿主机操作系统。 

在容器中运行,直接可以使用宿主机操作系统,省事省力,可喜可贺。

 

那么容器技术的又有了优点:

敏捷和高性能:直接调用宿主机操作系统,不需要经过虚拟化软件的处理。 

 

 

白话总结:

docker是一种技术,能使得应用在任何环境都能用的打包技术。打包出的东西叫镜像。镜像运行时(有对外提供服务能力)叫容器。

 

docker && kubernetes 入门介绍pdf,请参看:

https://github.com/haoprogrammer/kubernetes-study/tree/master/pdf/umf

 

欢迎转载,转载请注明出处,感谢您的阅读。

posted @ 2019-05-30 19:02  haoprogrammer  阅读(8542)  评论(1编辑  收藏  举报