• Docker (一):docker介绍


    一、背景介绍

      Docker是dotCloud公司(现已更名为Docker股份有限公司)的一款开源产品,从dotCloud公司于2013年将Docker开源到现在,短短几年的时间,就已经成为了开源社区炙手可热的项目,并且广受好评。随着Docker的流行,越来越多的优秀开发者加入了Docker社区参加开发,几乎所有的云计算公司,诸如Azure、Google和亚马逊等都支持Docker技术,Docker技术已经成为了云计算领域的一个重要组成部分。

    二、什么是Docker

      Docker实际上是一种容器技术,它使用容器引擎解决了平台依赖的问题。Docker在每天宿主机上都启动一个守护进程,守护进程屏蔽了与具体平台相关的信息,对上层应用提供统一的接口。通过这种方式,Docker化的应用就可以在多个平台上使用。java号称“Write once,Run anyWhere”,而Docker则是“Build once,Run anyWhere,Configure once,Run anything”。

      实际上如果Docker和虚拟机是有些类似的,在Docker容器内运行的应用于具体的平台是无关的。当然,Docker和虚拟机虽然有些类似,但是它们是有本质的不同的。众所周知,虚拟机体积庞大,暂用的资源也非常多,就我个人而言,除非迫不得已,我通常不会选择使用虚拟机。而Docker在这一点上有极大的不同,Docker通过分层共享和增量更新的技术,极大的减小了体积,达到了轻量安装的方式,而它的开销远小于虚拟机。仅以启动时间来比较,Docker是微秒级的,而虚拟机则是分钟。

    三、为什么使用Docker

      在实际开发中我们经常会被一些繁琐的问题困扰,但是又不得不面对:

      1. 为了节约成本,公司成员之间或者项目组之间经常共用一台开发机,管理混乱,相互干扰
      2. 通常每个项目的开发环境都是不一样的,但同时进行多个开发任务的时候,不得不反复修改环境,以适应不同的开发任务
      3. 项目中的多个成员希望各自的开发环境保持一致,但是开发环境难以复制,即使初始环境一致,随着项目的滚动、开发环境的不断更新,最终也难以统一
      4. 当开发机出现故障需要更换机器的时候,不得不花费大量的时间重新搭建繁琐的开发环境
      5. 当需要调研测试新的软件时,安装配置文档繁琐,仅仅把软件安装、配置好就可能花费大半天的时间

          ...

      以上这些问题都可以通过Docker解决:

      1. Docker化的应用使用容器虚拟化技术,每个应用都运行在独立的虚拟环境中,互相隔离,不用担心一机多用造成的混乱
      2. 当有多个开发任务时,可以并行启动这些应用的Docker容器,每一个Docker应用都有一个独立的运行环境,互不干扰
      3. 开发成员可以从Docker仓库中下载开发环境的镜像,确保大家的环境都是一致的。
      4. 开发机故障需要重新搭建环境时,只需要从仓库中拉下相关镜像,就可以在几分钟内重新搭建好环境, 而且和原来的环境是一样的。
      5. Docker的每个复杂的软件都可以做成镜像,分享给其他人使用。并且随着Docker的流行,几乎所有的主流软件都提供了Docker化的部署方式,软件部署变得更为简单。

    四、安装docker

      macOS:直接下载安装即可,地址:https://download.docker.com/mac/stable/Docker.dmg

      CentOS:curl -sSL https://get.docker.com/ | sh

            curl -sSL https://get.daocloud.io/docker | sh 

            curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet   

      Ubuntu:curl -sSL https://get.docker.com/ | sh         

  • 相关阅读:
    完全卸载删除nginx
    多线程如何确定线程数
    【精】Linux磁盘I/O性能监控之iostat详解
    Linux信号处理和守护进程
    Linux进程间通信——使用信号
    kill 命令详解 系统信号
    Valgrind使用指南和错误分析
    Valgrind memcheck 8种错误实例
    Linux环境崩溃生成core文件以及调试
    linux Valgrind使用说明-内存泄漏
  • 原文地址:https://www.cnblogs.com/sawyerlsy/p/7211504.html
Copyright © 2020-2023  润新知