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 仓库用来保存镜像,可以理解为代码控制中的代码仓库。

     

  • 相关阅读:
    如何提高技术素养
    spoolsv.exe 无法启动
    太阳高度角和方位角的计算
    树莓派 3 alsa 声卡驱动
    PHP 7 Xdebug 深深的坑
    java 线性规划 和lingo 比较
    Python Microsoft Visual C++ Compiler Package for Python 2.7
    Node debug
    angular 调试 js (分 karms protractor / test e2e unit )
    hbase scan 的例子
  • 原文地址:https://www.cnblogs.com/yumingxing/p/9453093.html
Copyright © 2011-2022 走看看