zoukankan      html  css  js  c++  java
  • Docker容器入门介绍

    1、前言

      Docker是一种新兴的虚拟化技术,能够一定程度上的代替传统虚拟机。不过,Docker 跟传统的虚拟化方式相比具有众多的优势。Docker: 本意是码头工人,言外之意是集装箱;

      Java号称“一次编译,到处运行”,因为java虚拟机解决平台的兼容性问题,所以有java虚拟机的地方就能跑java代码。

      Docker是:“一次封装,到处运行”,因为docker隔绝了应用环境的问题,安装了docker的平台就能跑“docker包”,这样就解决了“开发环境能跑,一上线就崩”的尴尬。而且他能够很方便的启动和部署。

    比如我想在一个centos系统上搭建一个tomcat然后再部署一个web应用,则需要在这几部

    1、 安装jdk

    2、 安装tomcat

    3、 将项目war包上传到tomcatwebapps

    4、 修改配置文件

    5、 启动tomcat

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

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

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

      那么Docker就是为了解决上面这些问题而生的!!


     

    2、简介

      Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。
    一个完整的Docker有以下几个部分组成:
      DockerClient客户端
      Docker Daemon守护进程
      Docker Image镜像
      DockerContainer容器 [2]

    学习Docker首先要了解几个概念:

    镜像—Docker的镜像和常见的系统ISO镜像类似,包含了应用程序的信息;

    容器—容器相当于一个可以运行起来的虚拟机,应用程序运行在容器中,Docker运行在“Docker”上;

    仓库—仓库是存放镜像的地方,有类似git的版本控制,同样分为公开仓库(Public)和私有仓库(Private)两种形式;

    Docker支持大部分的Linux发行版,通过使用Docker容器,就可以在不同的操作系统,

    不同的机器上运行自己的应用,不用关心硬件、运行环境之类的配置,应用程序的迁移变得非常简单。


     

    3、Docker和传统虚虚拟化技术(VM)的对比

    相比传统虚拟机技术,Docker资源占用少,启动更快,很大的方便了项目的部署和运维。Docker是在操作系统层面上实现虚拟化,复用本地主机的操作系统。传统VM方式是在硬件的基础上,虚拟出一个新的操作系统,然后在系统上部署相关的应用。

     Docker是一种基于Linux内核的操作技术,他可以直接使用Linux系统的内核资源来进行虚拟化,因此他的量级很轻(ps:docker支持大部分Linux系统,如果在windows系统下使用Docker也会在本地通过VM先创创建一个Linux系统环境)

    而VM则是在硬件基础上重新重新创建虚拟化操作系统,然后在新的操作系统中安装应用。

    下面以上图明显便显出了两者在性能上的差别:

     

     Docker优点:

    1.因为直接复用的操作系统的资源进行虚拟化,因此依赖的资源少,具有更低的资源开销

    2.启动和部署速度更快

    3.具有很好的集成特性

     关于Docker的操作晴参看本条博客

  • 相关阅读:
    vue语法
    第3章 语言基础(上)
    第2章 HTML中的JavaScript
    第1章 什么是JavaScript
    附录 A ES6附加特性
    第14章 跨浏览器开发技巧
    第13章 历久弥新的事件
    第12章 DOM操作
    第11章 代码模块化
    第10章 正则表达式
  • 原文地址:https://www.cnblogs.com/sunweiye/p/11121831.html
Copyright © 2011-2022 走看看