网站建设更改,如果你想了解信息,泰安企业建站公司排行,家纺 网站建设 中企动力文章目录 什么是云计算#xff1f;什么是 Docker#xff1f;虚拟化技术演变特点架构镜像#xff08;Image#xff09;仓库#xff08;Registry #xff09;容器#xff08;Container#xff09; 应用场景 什么是云计算#xff1f;
云计算是一种资源的服务模式#x… 文章目录 什么是云计算什么是 Docker虚拟化技术演变特点架构镜像Image仓库Registry 容器Container 应用场景 什么是云计算
云计算是一种资源的服务模式该模式可以实现随时随地、便捷按需地从可配置计算资源共享池中获取所需的资源如网络、服务器、存储、应用及服务资源能够快速供应并释放大大减少了资源管理工作开销用户甚至可以再也不用理会那些令人头痛的传统服务供应商了。
经典的云计算架构包括以下三层服务 云平台经典架构 IaaSInfrastructure as a Service基础设施即服务面向基础设施运维人员提供计算、存储、网络及其他基础资源云平台使用者可以在上面部署和运行包括操作系统和应用程序在内的任意软件无需再为基础设施的管理而分心。PaaSPlatform as a Service平台即服务面向应用开发人员提供支撑应用运行所需的软件运行时环境、相关工具与服务如数据库服务、日志服务、监控服务等让应用开发者可以专注于核心业务的开发。SaaSSoftware as a Service软件即服务面向一般用户提供了一套完整可用的软件系统让一般用户无需关注技术细节只需通过浏览器、应用客户端等方式就能使用部署在云上的应用服务。 什么是 Docker
Docker 是一个能够把开发的应用程序自动部署到容器的开源引擎。由 Docker 公司前 dotCloud的团队编写基于 Apache 2.0 开源授权协议发行。
Docker 在虚拟化的容器执行环境中增加了一个应用程序部署引擎。该引擎的目标就是提供一个轻量、快速的环境能够运行开发者的程序并方便高效地将程序从开发者的笔记本部署到测试环境然后再部署到生产环境。
Docker 极其简洁它所需的全部环境只是一台仅仅安装了兼容版本的 Linux 内核和二进制文件最小限的宿主机。 虚拟化技术演变
虚拟化技术演变路径可分为三个时代 物理机时代多个应用程序可能跑在一台物理机器上。 虚拟机时代一台物理机器启动多个虚拟机实例一个虚拟机跑多个应用程序。 容器化时代一台物理机上启动多个容器实例一个容器跑多个应用程序。
虚拟机通过中间层 Hypervisor 将一台或多台独立的机器虚拟运行于物理硬件之上而容器则是直接运行在操作系统内核之上的用户空间因此它们存在很大的差异
特性Docker虚拟机启动速度秒级分钟级交付/部署开发、测试、生产环境一致-性能近似物理机性能损耗大镜像存储MB 级GB 级集群规模上万上百隔离级别进程级操作系统级隔离策略CGroupsHypervisor高可用策略弹性、负载、动态备份、容灾、迁移 特点
提供一个简单、轻量的建模方式Docker 上手非常快用户只需要几分钟就可以把自己的程序 Dockerize。Docker 依赖于写时复制copy-on-write模型使修改应用程序也非常迅速。大多数 Docker 容器只需不到 1 秒钟即可启动。由于去除了管理程序的开销Docker 容器拥有很高的性能同时同一台宿主机中也可以运行更多的容器使用户可以尽可能充分地利用系统资源。职责的逻辑分离开发人员只需要关心容器中运行的应用程序而运维人员只需要关心如何管理容器。Docker 设计的目的就是要加强开发人员写代码的开发环境与应用程序要部署的生产环境的一致性。快速、高效的开发生命周期缩短代码从开发、测试到部署、上线运行的周期让应用程序具备可移植性易于构建并易于协作。鼓励使用面向服务的架构Docker 推荐单个容器只运行一个应用程序或进程这样就形成了一个分布式的应用程序模型在这种模型下应用程序或服务都可以表示为一系列内部互联的容器从而使分布式部署应用程序扩展或调试应用程序都变得非常简单同时也提高了程序的内省性。 架构
Docker 使用客户端/服务器C/S架构如下图所示
Docker 架构 客户端只需向 Docker 服务器或守护进程daemon发出请求服务器或守护进程将完成所有工作并返回结果。Docker 守护进程有时也称为 Docker 引擎。Docker 提供了一个命令行工具 docker 以及一整套RESTful API 来与守护进程交互。用户可以在同一台宿主机上运行 Docker 守护进程和客户端也可以从本地的 Docker 客户端连接到运行在另一台宿主机上的远程 Docker 守护进程。 镜像Image
镜像是用于创建 Docker 容器的模板它就像是容器的源代码一样包含了一系列的构建指令。
镜像是一个特殊的文件系统除了提供容器运行时所需的程序、库、资源、配置等文件外还包含了一些为运行时准备的一些配置参数如匿名卷、环境变量、用户等。镜像不包含任何动态数据其内容在构建之后也不会被改变。 仓库Registry
Docker 用 Registry 来保存用户构建的镜像。Registry 分为公共和私有两种。Docker 公司运营的公共 Registry 叫作 Docker Hub。用户可以在 Docker Hub 注册账号分享并保存自己的镜像。 容器Container
镜像和容器的关系就像是面向对象程序设计中的类和实例一样镜像是静态的定义容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。我们可以认为镜像是 Docker 生命周期中的构建或打包阶段而容器则是启动或执行阶段。
容器的实质是进程但与直接在宿主执行的进程不同容器进程运行于属于自己的独立的命名空间namespaces。因此容器可以拥有自己的 root 文件系统、网络配置、进程空间甚至用户 ID 空间。容器内的进程是运行在一个隔离的环境里使用起来就好像是在一个独立于宿主的系统下操作一样。这种特性使得容器封装的应用比直接在宿主运行更加安全。 应用场景
加速本地开发和构建流程使其更加高效、更加轻量化。本地开发人员可以构建、运行并分享 Docker 容器。容器可以在开发环境中构建然后轻松地提交到测试环境中并最终进入生产环境。能够让独立服务或应用程序在不同的环境中得到相同的运行结果。这一点在面向服务的架构和重度依赖微型服务的部署中尤其实用。用 Docker 创建隔离的环境来进行测试。Docker 可以让开发者先在本机上构建一个复杂的程序或架构来进行测试而不是一开始就在生产环境部署、测试。构建一个多用户的平台即服务PaaS基础设施。为开发、测试提供一个轻量级的独立沙盒环境提供软件即服务SaaS应用程序。高性能、超大规模的宿主机部署。