zoukankan      html  css  js  c++  java
  • Docker简介

    Docker简介

    1、介绍

    容器技术和 Docker 已经成为了 IT 圈里最火爆的话题。时至今日,还是有人会心存困惑:Docker 究竟是什么?使用 Docker 的最大好处是什么?为什么它会受到这么多用户的热烈追捧?有什么相关数据作为参考?在这篇文章中,作者将悉数回答所有这些问题。

    1539749606742

    2、什么是 IT 技术发展的必然趋势?

    其中一项一定是在容器中运行应用,而不是在虚拟机中!容器技术被认为是当今软件行业的历史中发展最快的技术之一。 容器技术的核心在于 Docker。Docker 是什么?Docker 是一个能够允许用户轻松在容器内打包,分发和管理应用程序的平台。换句话说,它是一个开源项目,可以轻松部署软件容器内的应用程序。

    Docker 通过使用容器来创建,部署和运行应用程序真正让一切都变得更加容易。容器允许开发人员将应用程序打包成所需的所有部件,如库和其他依赖项,并将其全部作为一个包。因此开发人员可以放心的将应用程序在任何其他 Linux 机器上运行,而不用管机器可能与用于编写和测试代码的机器有所不同的任何自定义设置。

    3、关于 Docker,有哪些相关数据作为参考?

    • 目前已经有 2/3的公司尝试使用 Docker,并且采用它。 大多数采用的公司已经在初始生产使用后的30天内准备上 Docker,几乎所有剩余的公司都在使用 60 天内最终决定采用 Docker
    • 2016 年 Docker 的采用率超过了 30%
    • Docker 采用者将容器的使用数量扩展了 5 倍 之多。这些公司在使用 Docker 第十个月时在生产环境中所使用的容器数量平均是第一个月时的近五倍。
    • PHP,Ruby,Java 和 Node 是用于容器中的主要编程框架和语言。

    4、为什么 Docker 备受诸如 ING,Paypal,ADP,Spotify 等巨头公司的青睐?为什么 Docker 采用率的增长速度如此惊人?

    • 高投资回报率和低成本

      使用 Docker 的第一个优点就是其具有非常高的投资回报率。在选择一种新产品的时候,投资回报率是大多数管理层面决策的最大动因。一个解决方案能越多地在降低成本的同时提高利润,这个解决方案也就越好,这一方案对于那些需要长期产出稳定收入的大型、老牌公司来说尤为重要。

      在这个层面上,Docker 能够通过大幅度地减少基础设施资源来帮助有效降低成本。Docker 的本质是使用更少的资源来运行相同的应用。由于 Docker 降低了基础设施的需求,企业能够节约从服务器成本到维护人员的一切成本。Docker 让工程团队变得小而精且更具效率。

    • 标准化和生产率

      Docker 容器确保了跨多个研发和发布周期的一致性,实现了环境的标准化。基于 Docker 的体系架构最大的优点之一就是标准化。Docker 提供了可复用的开发、构建、测试和生产环境。在整个流程中,标准化服务基础设施让每个团队成员在一个相同的生产环境中工作。这样可以使得工程师更有能力,也更有效率地分析和修复应用中的 bug。该措施减少了浪费在修正错误的时间,并增加了功能开发的时间。

      如上所述,Docker 容器允许你提交 Docker 镜像和版本控制的变化。举个例子,如果你执行的组件更新破坏了整个开发环境,回滚到一个更早的版本是一件非常容易的事情。这整个过程在几分钟时间内就可以被测试完成。Docker 运行非常之快,让你能够快速复制并实现冗余。此外,启动 Docker 镜像就如同运行一个机器进程一样快速。

    • 持续集成效率

    • Docker 让你能够构建一个容器镜像,并在部署周期的每一步中都能够使用相同的镜像。这带来的一个巨大好处是能够分离独立的步骤且并行运行它们。这使得从构建到生产所需要的时间被显著缩短。

    • 兼容性和可维护性

      Docker 能够彻底地消除“它能在我的机器上工作”的问题。这可以令整个团队都充分享受的好处之一是它的兼容性。就 Docker 而言,兼容性意味着您的镜像无论在哪台服务器或是笔记本电脑上都是一样的。对于您的开发者来说,这意味着在配置环境、调试环境特定问题和在更加方便且易于设置的代码库上花费的时间更少。兼容性同样也意味着您的生产基础设置更加可靠且更易于维护。

    • 配置快速简单

      Docker 的一个关键优势是它简化问题的方式。用户们能够自行进行配置,将它放到代码之中,并轻松部署。由于 Docker 能够用于各种不同的环境之中,所以对于基础设施的需求不再与应用的环境相关。

    • 快速部署

      Docker 将部署时间缩短至几秒。 这是因为它为每个进程创建一个容器,并且不会对操作系统造成影响。 你可以创建和销毁数据,而不用担心难以承受的高成本。

    • 持续部署和测试

      Docker 确保了从开发到生产环境的一致性。 Docker 容器的配置是为了从内部维护配置和依赖项,你可以使用从开发到生产流程中的同一容器来确保没有差异或手动干预。

      如果需要在产品发布周期中进行升级,你可以轻松地对 Docker 容器进行必要的更改,测试,也可以对现有容器实施相同的更改。这种灵活性是使用 Docker 的另一个关键优势。Docker 允许用户在跨多个服务器部署的情况下,进行构建,测试和发布镜像。 即使有新的安全补丁可用,进程仍然保持不变。 你可以应用补丁,测试它,并将其用于生产环境。

    • 多云平台

      Docker 的另一个显著优点是可移植性。在过去几年中,所有主要的云计算供应商,包括 Amazon Web Services(AWS)和 Google Compute Platform(GCP),都已经全面认可了 Docker 的可用性并附加了个人支持。 Docker 容器可以在 Amazon EC2 实例中运行,同时也可以在 Google Compute Engine 实例,Rackspace 服务器 或 VirtualBox 中运行,前提是主机操作系统支持 Docker。 如果是这种情况,运行在 Amazon EC2 实例上的容器可以轻松地在环境之间移植,如 VirtualBox,能够实现类似的一致性和功能。 此外,Docker 与其他供应商(如 Microsoft Azure 和 OpenStack)配合良好,可与各种配置管理器(如 Chef,Puppet 和 Ansible 等)一起使用。

    • 隔离性

      Docker 能够确保应用和资源被充分隔离。Docker 确保每个容器都有自己的与其他容器隔离的资源。你可以让独立应用的不同容器运行在不同的堆栈上。因为每个应用都在自己的容器上运行,所以 Docker 可以清除这些应用。如果不再需要一个应用的时候,你可以简单地删除它的容器。它不会在你的主机操作系统上留下任何临时或配置文件。

      除此之外,Docker 还确保了每个应用仅使用已分配给它们的资源。 一个特定应用不会使用所有可用的资源,这样就不会导致性能的下降或其他应用完全不能运行的情况。

    • 安全性

      使用 Docker 的最后一个竞争优势是安全。从安全的角度来看,Docker 可以确保在容器上运行的应用被完全隔离,从而使你能够完全控制流量和对它的管理。Docker 容器不能查看其他容器内部运行的进程。从架构的角度来看,每个容器都有属于自己的从进程到网络堆栈的资源池。

    5、谁在使用docker-目前在使用docker的企业客户有哪些?

    • docker目前最多的用途

      1539779282665

      Red Hat 已经开始大力发展docker技术,并提供强有力的支持。 openshit平台就是最好的验证。简单来讲docker,为一个项目的开发和运营,提供了更方便的持续集成,更新,回滚,这也就意味着所有用到上述功能的地方,docker都可以大展拳脚.

    • docker在敏捷开中的应用

      1539779624712

      1539779856111

      docker中包含了很多敏捷开发工具,例如 Puppet, Chef, Vagrant, 和 Ansible,这些都可以用于建立一个可定制的开发环境。docker 让本地的开发环境可以和线上开发环境一致,在不同的机器,不同的os,不同的硬件上使用相同的配置文件和执行环境。

    • Docker的持续集成

      1539780099422

      eBay 已经开始使用docker 来持续集成他们的分布式环境。虽然他们使用的可能是不同的硬件不同的os,但是这不妨碍,docker 让这些节点变成一致可操作的节点。

    • 微软也在自家的azure平台尝试使用docker,让linux 能够更轻松的运行的在Windows平台上。

      1539780235396

  • 相关阅读:
    C#异常小知识
    Cisco路由器配置学习-ip accounting
    Sublime Text 3预览Markdown
    什么是permit-inside功能
    锐捷双出口
    思科双出口+策略路由+NAT
    github常见操作和常见错误
    网易注册页面知识点
    java,xml等注释删除,正则表达式使用123
    简单多线程是否安全判断
  • 原文地址:https://www.cnblogs.com/xupccc/p/9838662.html
Copyright © 2011-2022 走看看