docker入门+结合微服务实战(一)

docker简介

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

docker的应用

我们之前是如何将项目发布到Linux服务器的?

大致步骤如下:

1、 安装jdk

2、 安装tomcat

3、 将项目war包上传到tomcat的webapps下

4、 修改配置文件

5、 启动tomcat

这样看似没问题,其实我们想想,发一台机器还好9,这几步就完成了,如果我们要将这个项目发布到N多台机器,那么我们是否需要在每个机器上都进行相同的步骤,并且要进行环境兼容性的测试。

再来看一个例子,我们现在想部署使用一个成熟的产品,这个产品是用go语言开发的,我该如何部署?go语言运行的环境怎么装?这个项目又该如何部署?

还有,一台linux机器上装了很多软件,部署了很多项目,相互之间有干扰怎么办?

如果有一项技术,可以解决以上问题或者是更多的问题,是不是很爽? 那就是Docker(容器)技术。

虚拟化和docker的对比

虚拟化要通过虚拟机对资源进行虚拟化,而docker的优势在于可以直接使用主机操作系统的资源进行虚拟化。

为什么要使用docker

作为一种新兴的虚拟化方式,docker跟传统的虚拟化方式相比具有众多的优势。

首先,docker容器的启动可以在秒级实现,这比传统的虚拟机方式要快得多。其次,docker对系统资源的利用率很高,一台主机上可以同时运行数千个docker容器。

容器除了运行其中应用外,基本上不消耗额外的系统资源,使得应用的性能很高,同时系统的开销尽量小。传统虚拟机方式运行10个不同的应用就要启动是个虚拟机,而docker只需要启动10个隔离的应用即可。

posted @ 2019-01-16 17:13  IT晓白  阅读(965)  评论(0编辑  收藏  举报