1. 首页
  2. docker教程

02-二、Docker 架构

如果你对 Docker 有那么一点了解,就知道 Docker 是一个开源的应用容器引擎

那么它是一个什么的应用引擎,它之前,又是怎么做的呢?

虚拟化

在阿里云等还没横空出世前,我们用的最多的是什么? 虚拟主机

想必早期的站长都知道,那个时候买的虚拟主机,是大家的网站都放在一台电脑上,不同的目录下而已,说直白一点,买虚拟主机,其实就是买了一个固定大小的文件夹

因为一台比较好的服务器是很贵的,如果只运行一个网站,资源也太浪费了,如果是多个网站,那么多个网站之间就要相互隔离,不然就可以相互访问对方的数据了

相互隔离的方式有很多中,比如现在常见的

1、 vmware
2、 virtualbox
3、 kvm
4、 xen

这四种软件,又称之为虚拟化,说的直白一点,就是隔离操作系统各个应用程序,使得它们之间相互独立

这几种虚拟化技术是怎么做到的呢? 看一张图

img_1.png

每一个应用程序都自带一个小操作系统,和系统类库,这样就有点资源浪费了 ( 虽然硬盘不值几个钱 )

Docker 出现了之后,这种状况就改变了,因为它采用了下面这种方式

img_2.png

Docker 来屏蔽各个应用程序

Docker 工作模式

Docker 使用客户端-服务器 ( C/S ) 架构模式,使用远程 API 来管理和创建 Docker 容器

Docker 容器通过 Docker 镜像来创建

容器与镜像的关系类似于面向对象编程中的对象与类

Docker 面向对象
容器 对象
镜像

img_3.png

名词 解释
Docker镜像(Images) Docker镜像是用于创建Docker容器的模板
Docker容器(Container) 容器是独立运行的一个或一组应用
Docker客户端(Client) Docker客户端通过命令行或者其他工具使用DockerAPI与Docker的守护进程通信
Docker主机(Host) 一个物理或者虚拟的机器用于执行Docker守护进程和容器
Docker仓库(Registry) Docker仓库用来保存镜像,可以理解为代码控制中的代码仓库DockerHub提供了庞大的镜像集合供使用
DockerMachine DockerMachine是一个简化Docker安装的命令行工具通过一个简单的命令行即可在相应的平台上安装Docker比如VirtualBox、DigitalOcean、MicrosoftAzure

看完两件小事

如果你觉得这篇文章对你挺有启发,我想请你帮我两个小忙:

  1. 关注我们的 GitHub 博客,让我们成为长期关系
  2. 把这篇文章分享给你的朋友 / 交流群,让更多的人看到,一起进步,一起成长!
  3. 关注公众号 「方志朋」,公众号后台回复「666」 免费领取我精心整理的进阶资源教程
  4. JS中文网,Javascriptc中文网是中国领先的新一代开发者社区和专业的技术媒体,一个帮助开发者成长的社区,是给开发者用的 Hacker News,技术文章由为你筛选出最优质的干货,其中包括:Android、iOS、前端、后端等方面的内容。目前已经覆盖和服务了超过 300 万开发者,你每天都可以在这里找到技术世界的头条内容。

    本文著作权归作者所有,如若转载,请注明出处

    转载请注明:文章转载自「 Java极客技术学习 」https://www.javajike.com

    标题:02-二、Docker 架构

    链接:https://www.javajike.com/article/2062.html

« 03-三、Ubuntu 安装 Docker
01-一、Docker 基础教程»

相关推荐

QR code