zoukankan      html  css  js  c++  java
  • 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个隔离的应用即可。

  • 相关阅读:
    mogodb学习
    rman list incarnation
    Java创建对象的四种方式
    JAVA 8 函数式接口--Consumer
    Linux中VIM的使用
    JRE 和 JDK 的区别
    tengine-2.3.1 增加ngx_http_upstream_check_module 模块
    k8s的coredns 增加外部dns解析记录
    Dockerfile的CMD总结
    redis数据转移随笔
  • 原文地址:https://www.cnblogs.com/pigdata/p/10305534.html
Copyright © 2011-2022 走看看