首页
学习
活动
专区
圈层
工具
发布
50 篇文章
1
客快物流大数据项目(一):物流项目介绍和内容大纲
2
客快物流大数据项目(二):物流项目详细介绍
3
客快物流大数据项目(三):项目解决方案
4
客快物流大数据项目(四):大数据项目为什么使用Docker
5
客快物流大数据项目(五):Docker介绍
6
客快物流大数据项目(六):Docker与虚拟机的形象比喻及组件介绍
7
客快物流大数据项目(七):Docker总结
8
客快物流大数据项目(八):Docker的安装和启动
9
客快物流大数据项目(九):Docker常用命令
10
客快物流大数据项目(十):Docker容器命令
11
客快物流大数据项目(十一):Docker应用部署
12
客快物流大数据项目(十二):Docker的迁移与备份
13
客快物流大数据项目(十三):Docker镜像
14
客快物流大数据项目(十四):DockerFile介绍与构建过程解析
15
客快物流大数据项目(十五):DockeFile常用命令
16
客快物流大数据项目(十六):使用脚本创建镜像
17
客快物流大数据项目(十七):自定义镜像mycentos
18
客快物流大数据项目(十九):项目环境准备
19
客快物流大数据项目(二十):物流管理系统服务器的数据路径配置和软件下载存放位置
20
客快物流大数据项目(二十一):Docker环境初始化
21
客快物流大数据项目(二十二):Docker环境中安装软件
22
客快物流大数据项目(二十三):OGG介绍
23
客快物流大数据项目(二十四):OGG安装部署
24
客快物流大数据项目(二十五):初始化业务数据
25
客快物流大数据项目(二十六):客户关系管理服务器
26
客快物流大数据项目(二十七):Cloudera Manager简单介绍
27
客快物流大数据项目(二十八):大数据服务器环境准备
28
客快物流大数据项目(二十九):下载CDH的安装包
29
客快物流大数据项目(三十):软件下载后存放位置
30
客快物流大数据项目(三十一):常用工具安装
31
客快物流大数据项目(三十二):安装CDH-6.2.1和初始化CDH服务所需的MySQL库
32
客快物流大数据项目(三十三):安装Server和Agent
33
客快物流大数据项目(三十四):CDH开始安装
34
客快物流大数据项目(三十五):CDH使用注意
35
客快物流大数据项目(三十六):安装ElasticSearch-7.6.1
36
客快物流大数据项目(三十七):安装Kinaba-7.6.1
37
客快物流大数据项目(三十八):安装Azkaban-3.71.0
38
客快物流大数据项目(三十九):Hue安装
39
客快物流大数据项目(四十):ETL实现方案
40
客快物流大数据项目(四十一):Kudu入门介绍
41
客快物流大数据项目(四十二):Java代码操作Kudu
42
客快物流大数据项目(四十三):kudu的分区方式
43
客快物流大数据项目(四十四):Spark操作Kudu创建表
44
客快物流大数据项目(四十五):Spark操作Kudu DML操作
45
客快物流大数据项目(四十六):Spark操作Kudu dataFrame操作kudu
46
客快物流大数据项目(四十七):Spark操作Kudu Native RDD
47
客快物流大数据项目(四十八):Spark操作Kudu 修改表
48
客快物流大数据项目(四十九):开发环境初始化
49
客快物流大数据项目(五十):项目框架初始化
50
客快物流大数据项目(五十一):数据库表分析

客快物流大数据项目(六):Docker与虚拟机的形象比喻及组件介绍

目录

Docker与虚拟机的形象比喻及组件介绍

一、Docker与虚拟机的形象比喻

1、什么是物理机

2、什么是虚拟机

3、什么是docker

二、Docker组件

1、Docker服务端和客户端

2、Docker构架

Docker与虚拟机的形象比喻及组件介绍

一、Docker与虚拟机的形象比喻

1、什么是物理机

2、什么是虚拟机

3、​​​​​​​什么是docker

二、Docker组件

1、​​​​​​​Docker服务端和客户端

Docker是一个客户端-服务端(C/S)架构程序,Docker客户端只需要向Docker服务端或者守护进程发出请求,服务端或者守护进程完成所有工作返回结果,Docker提供了一个命令行工具Docker以及一整套的Restful API,可以在同一台宿主机器上运行Docker守护进程或者客户端,也可以从本地的Docker客户端连接到运行在另一台宿主机上的远程Docker守护进程

docker引擎是一个c/s结构的应用,主要组件见下图:

  • Server是一个常驻进程
  • REST API 实现了client和server间的交互协议
  • CLI 实现容器和镜像的管理,为用户提供统一的操作界面

2、​​​​​​​Docker构架

Docker使用C/S架构,Client 通过接口与Server进程通信实现容器的构建,运行和发布。client和server可以运行在同一台集群,也可以通过跨主机实现远程通信。

1)Docker镜像

Docker 镜像(Image)就是一个只读的模板。例如:一个镜像可以包含一个完整的操作系统环境,里面仅安装了 Apache 或用户需要的其它应用程序。镜像可以用来创建 Docker 容器,一个镜像可以创建很多容器。Docker 提供了一个很简单的机制来创建镜像或者更新现有的镜像,用户甚至可以直接从其他人那里下载一个已经做好的镜像来直接使用

镜像(Image)就是一堆只读层(read-only layer)的统一视角,也许这个定义有些难以理解,看看下面这张图:

右边我们看到了多个只读层,它们重叠在一起。除了最下面一层,其它层都会有一个指针指向下一层。这些层是Docker内部的实现细节,并且能够在docker宿主机的文件系统上访问到。统一文件系统(Union File System)技术能够将不同的层整合成一个文件系统,为这些层提供了一个统一的视角,这样就隐藏了多层的存在,在用户的角度看来,只存在一个文件系统。

2)​​​​​​​Docker容器

Docker 利用容器(Container)来运行应用。容器是从镜像创建的运行实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。

可以把容器看做是一个简易版的 Linux 环境(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序。

创建Container首先要有Image,也就是说Container是通过image创建的。

Container是在原先的Image之上新加的一层,称作Container layer,这一层是可读可写的(Image是只读的)。

在面向对象的编程语言中,有类跟对象的概念。类是抽象的,对象是类的具体实现。Image跟Container可以类比面向对象中的类跟对象,Image就相当于抽象的类,Container就相当于具体实例化的对象。

Image跟Container的职责区别:Image负责APP的存储和分发,Container负责运行APP

结论:

容器 = 镜像 + 读写层。并且容器的定义并没有提及是否要运行容器

3)​​​​​​​​​​​​​​Registy(注册中心)

仓库(Repository)是集中存放镜像文件的场所。有时候会把仓库和仓库注册服务器(Registry)混为一谈,并不严格区分。实际上,仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag)。

仓库分为公开仓库(Public)和私有仓库(Private)两种形式。最大的公开仓库是 Docker Hub,存放了数量庞大的镜像供用户下载。国内的公开仓库包括 时速云 、网易云 等,可以提供大陆用户更稳定快速的访问。当然,用户也可以在本地网络内创建一个私有仓库。

当用户创建了自己的镜像之后就可以使用 push 命令将它上传到公有或者私有仓库,这样下次在另外一台机器上使用这个镜像时候,只需要从仓库上 pull 下来就可以了。

Docker 仓库的概念跟 Git 类似,注册服务器可以理解为 GitHub 这样的托管服务。

下一篇
举报
领券