什么是Docker

Docker初识

技术背景

如果说主机时代比拼的是单个服务器的物理性能(如CPU主频和内存)的强弱,那么在云时代,最为看重的是凭借着虚拟化技术所构建的集群处理能力。

那么什么是虚拟化技术?

虚拟化技术是一个通用的概念,在不同领域有着不同的理解。维基百科的定义如下:

“在计算机技术中,虚拟化(技术)或虚拟技术(英语:Virtualization)是一种资源管理技术, 是将计算机的各种实体资源(CPU、内存、磁盘空间、网络适配器等),予以抽象、转换后呈现出来并可供分割、组合为一个或多个电脑配置环境。由此,打破实体结构间的不可切割的障碍,使用户可以比原本的配置更好的方式来应用这些电脑硬件资源。这些资源的新虚拟部分是不受现有资源的架设方式,地域或物理配置所限制。一般所指的虚拟化资源包括计算能力和资料存储。”

虚拟化的核心是对资源的抽象,目标往往是为了在同一个主机上同时运行多个系统和应用,从而提高资源的利用率,并且降低成本、方便管理和容错容灾等好处。
容器虚拟化技术书与操作系统级虚拟化。内核通过创建多个虚拟的操作系统实例(内核和库)来隔离不同的进程。而传统方式是在硬件层面实现虚拟化,需要有额外的虚拟机管理应用和虚拟机操作系统层。Docker容器是在操作系统层面上直接实现了虚拟化,直接复用了本地的操作系统,因此更加的轻量级。
与传统虚拟化技术对比

Docker是基于Go语言实现的开源容器项目。它最初的构想是要实现“Build, Ship and Run Any App, Anywhere", 即通过对应用的封装、分发、部署、运行生命周期进行管理,到达应用级别的“一次封装,到处运行”,这和Java的“write once, run anywhere",还是有本质的区别。一个是应用级别的,而一个是代码级别。
简单来讲,可以将Docker容器理解为一种轻量级的沙盒(sandbox)。每个容器运行着一个应用,不同的容器相互隔离。容器之间也可以通过网络进行相互通信。容器的创建和停止十分的迅速,几乎和创建和终止原生应用一致。另外,容器自身对系统资源的额外需求也十分有限,远远低于传统的虚拟机。

容器相对于宿主机来说,就是一个应用。但是对用户来说,可能是另一个虚拟化的主机。

Docker在正确的地点和正确的时间顺应了正确的趋势——如何正确的构建应用。通过容器化来打包应用、解耦应用和运行平台。这意味着在进行应用迁移的时候,只需要在新的服务器上启动需要的容器即可。因为原来的应用开发,我们需要在系统上部署应用所需要的应用环境,这些应用环境是直接运行在底层的操作系统上的。无法保证同一个应用在不同的环境中都行为一致,所以在迁移的过程中都需要进行重新的部署和调试。存在大量重复性工作。

重要概念

  • 镜像(Image)
  • 容器(Container)
  • 仓库(Repository)

镜像
类似于虚拟机的镜像,可以理解是一个只读的模板。例如一个镜像中包含了一个基本的操作系统,里面仅安装了Apache应用,可以把它称之为一个Apache镜像。
镜像是创建Docker容器的基础。通过版本控制和增量的文件系统,Docker提供了一套非常简单的机制来创建和更新镜像。
容器
类似以一个轻量级的沙箱。Docker利用容器来运行和隔离应用。容器从镜像创建应用运行的实例。它可以启动、停止、删除。而这些容器都是彼此隔离的、互不可见的。
可以把容器看做是一个简易的Linux系统环境以及运行在其中的应用程序打包而成的盒子。

镜像本身是只读的。容器从镜像启动的时候,会在镜像的最上层创建一个可写层。

仓库
是Docker集中存放镜像文件的场所。还有一个概念是仓库的注册服务器(Registry),这是存放仓库的地方。仓库也分为公有和私有,目前最大的公有仓库是Docker Hub,每个公司可以创建自己的仓库。

Docker的优势

  • 很快,启动和停止可以在秒级别实现
  • 对系统资源要求少,启动N个容器不用分配N份资源。而是启动N个隔离的“很薄的”容器,并将应用放进容器即可,能获得接近原生的运行性能
  • 类似Git的设计理念方便用户获取、分发和更新应用镜像、存储复用和增量更新
  • 通过Dockfile支持灵活的自动化创建和部署机制,以提高工作效率,并标准化流程
  • 安全隔离

image.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

洋万里

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值