zoukankan      html  css  js  c++  java
  • 浅谈Docker

    一、为什么使用Docker

           软件开发最大的麻烦事之一,就是环境配置。很多人想到,能不能从根本上解决问题,软件可以带环境安装?

    也就是说,安装的时候,把原始环境一模一样地复制过来。

    目前有两个主流解决方案:

    1. 虚拟机

    虚拟机就是带环境安装的一种解决方案。它可以在一种操作系统里面运行另一种操作系统。

    但是,它依然有很多缺点:

    (1)资源占用多

    (2)冗余步骤多

    (3)启动慢

    比较上面两张图,我们发现虚拟机是携带操作系统,本身很小的应用程序却因为携带了操作系统而变得非常大,很笨重。

    Docker是不携带操作系统的,所以Docker的应用就非常的轻巧。另外在调用宿主机的CPU、磁盘等等这些资源的时候,

    拿内存举例,虚拟机是利用Hypervisor去虚拟化内存,整个调用过程是虚拟内存->虚拟物理内存->真正物理内存,但是,

    Docker是利用Docker Engine去调用宿主的的资源,这时候过程是虚拟内存->真正物理内存。

    2. Docker容器

    由于虚拟机存在这些缺点,Linux 发展出了另一种虚拟化技术:Linux 容器。

    Linux 容器不是模拟一个完整的操作系统,而是对进程进行隔离。容器可共享同一个操作系统内核,将应用进程与系统

    其他部分隔离开。Docker就是基于Linux容器的一种封装。它是目前最流行的 Linux 容器解决方案。

     

    二、什么是Docker

    Docker 将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。

    程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了 Docker,就不用担心环境问题。总体来说,

    Docker 的接口相当简单,用户可以方便地创建和使用容器,把自己的应用放入容器。容器还可以进行版本管理、

    复制、分享、修改,就像管理普通的代码一样。

    源。

     

    三、Docker的用途

    (1)提供一次性的环境。比如,本地测试他人的软件、持续集成的时候提供单元测试和构建的环境。

    (2)提供弹性的云服务。因为 Docker 容器可以随开随关,很适合动态扩容和缩容。

    (3)组建微服务架构。通过多个容器,一台机器可以跑多个服务,因此在本机就可以模拟出微服务架构。

     

     四、Docker镜像、容器与仓库

    Docker 镜像 Docker 镜像是用于创建 Docker 容器的模板。
    Docker 容器 容器是独立运行的一个或一组应用。
    Docker 仓库 Docker 仓库用来保存镜像,可以理解为代码控制中的代码仓库。

     

  • 相关阅读:
    怎样把echarts图表做成响应式的
    检测IE浏览器兼容Edge模式及IE11
    封装微信jssdk自定义分享代码
    C# json字符串 转换成数组、集合、相应对象 sansan
    ObjectC 正确使用内存的几条法则 sansan
    c# 利用反射设置属性值 sansan
    ie6不能识别option标签的selected属性解决方案 sansan
    sql server 2005/2008 设置 sql身份验证 和 sa空密码(像sql2000一样使用)(转载) sansan
    SqlServer 日期时间格式转换 sansan
    C#获取文件大小 sansan
  • 原文地址:https://www.cnblogs.com/yumingxing/p/9453093.html
Copyright © 2011-2022 走看看