当前位置: 首页 > news >正文

1、docker入门简介

一、docker入门简介

本章要点:快速说就是docker是一个能快速持续交付并且持续部署的好工具,介绍了服务虚拟化有基于主机或者容器虚拟化两种,还有四种基础设设施(iaas,paas,saas,caas)

理论部分来源: docker1,容器云理念详解-超详细

什么是docker

  • Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。
  • Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
  • 容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低

为什么用docker

  1. 简化程序: 项目重启、协同代码部署 、微服务部署
  2. 持续交付和部署:使用 Docker 可以通过定制应用镜像来实现持续集成、持续交付、部署
  3. 更轻松的迁移:只要CPU架构支持,一个docker容器可以在任意平台上运行,与jdk类似

Docker的应用场景

  • Web 应用的自动化打包和发布。
  • 自动化测试和持续集成、发布。
  • 在服务型环境中部署和调整数据库或其他的后台应用。
  • 从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS 环境。

容器与云服务

基础设备云服务

请添加图片描述

  • IaaS 是“Infrastructure as a Service”的首字母缩写,意思是基础设施即服务,即把 IT 系统的基础设施层作为服务出租出去。由云服务提供商把 IT 系统的基础设施建设好,并对计算设备进行池化,然后直接对外出租硬件服务器、虚拟主机、存储或网络设施(负载均衡器、防火墙、公网IP地址及诸如 DNS 等基础服务)等;
  • PaaS 是“Platform as a Service”的首字母缩写,意为平台即服务,即把 IT 系统的平台软件层作为服务出租出去;
  • SaaS 是“Software as a Service”的首字母缩写,意为软件即服务。简言之,就是软件部署在云端,让用户通过因特网来使用它,即云服务提供商把 IT 系统的应用软件层作为服务出租出去,而消费者可以使用任何云终端设备接入计算机网络,然后通过网页浏览器或者编程接口使用云端的软件;
容器云服务

CaaS 容器即服务,可以按需提供容器化环境和应用服务,CaaS提供一个受控的、安全的应用环境,让开发人员以自助的方式构建和部署应用

请添加图片描述

基础要素与关键特性

基础要素

  • 容器调度: 调度和管理容器
  • 服务发现:将容器化的服务,注册到服务发现工具,确保服务之间的通信;
  • 网络配置:用户可访问容器,并实现跨主机容器通信;
  • 安全配置:只开放容器监听的端口;
  • 负载均衡:避免单点过载;
  • 数据持久化:容器内数据云端持久化;
  • 容器与高可用:日志与管理,容器监控;

关键特性

  • 开发者和运维角色的进一步有机融合;
  • 容器化应用程序生命周期的所有阶段;
  • 让开发者更加关注构建应用本身,而无需关注运行环境;
  • 支持多种底层基础设施,包括多种操作系统和平台;
  • API变得越来越重要,不同服务之间通过API相互调用;

CaaS架构
请添加图片描述

编排服务将受控的资源抽象成三个层次;

  • 容器:软件及运行环境;
  • Pod:相关联的容器组合,相互间通信无需跨网络,例如应用服务器和本地缓存,可以容纳一个或多个容器;
  • Node:提供计算、网络、存储的资源节点,可以容纳一个或多个Pod;

持续集成系统构建

选择关联代码源到github或其它版本库,当代码提交时会触发Docker镜像的自动构建,在镜像webhook里配置容器服务的trigger API, 这样当镜像构建完毕后,就会触发容器的自动部署,实现流水线般的CI/CD

当整合公有云的虚拟机和Docker方式,可能获得更多的好处,如

  • 更快速的持续交付和部署能力;
  • 利用内核级虚拟化,对公有云中服务器资源进行更加高效的利用;
  • 得用公有云和Docker的特性更加方便地迁移和扩展应用;

部署流程
请添加图片描述

虚拟化说明

两种:主机级虚拟机、容器级虚拟机

  • 主机级虚拟机
    • 也可以称为服务器虚拟化: 虚拟化是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以 比原本的组态更好的方式来应用这些资源
    • Type-I: hyper-v, vshpere
    • Type-II: vmware, virtualbox
  • 容器级虚拟化
    • 容器有效地将由单个操作系统管理的资源划分到孤立的组中,以更好地孤立的组之间平衡有冲突的资源使用需求。与虚拟化相比,这样即不需要指令级模拟,也不需要即时编译,容器可以在核心CPU本地运行指令 ,而不需要任何专门的解释机制。此处也避免了准虚拟化和系统调用 替换中的复杂性。

Docker和虚拟机总结

请添加图片描述

名词解释:
infrastructure (基础服务)硬件 Host OS 主机操作系统
VM 虚拟机 Hypervisor 虚拟层程序
  1. 实现原理技术不同 虚拟机是⽤来进⾏硬件资源划分的完美解决⽅案,利⽤的是硬件虚拟化技术,如此VT-x 、AMD-V会通 过⼀个 hypervisor 层来实现对资源的彻底隔离。 而容器则是操作系统级别的虚拟化,利⽤的是内核的 Cgroup 和 Namespace 特性,此功能通过软件 来实现,仅仅是进程本身就可以实现互相隔离,不需要任何辅助。

  2. 使⽤资源⽅⾯不同 Docker 容器与主机共享操作系统内核,不同的容器之间可以共享部分系统资源,因此更加轻量级, 消耗的资源更少。 虚拟机会独占分配给⾃⼰的资源,不存在资源共享,各个虚拟机之间近乎完全隔离,更加重量级,也会消耗更多的资源。

  3. 应⽤场景不同 若需要资源的完全隔离并且不考虑资源的消耗,可以使用虚拟机。 若是想隔离进程并且需要运行大量进程实例,应该选择 Docker 容器。

特性容器虚拟机
启动秒级分钟级
硬盘使用一般为MB一般为GB
性能接近原生占用资源更多,性能差不多
系统支持量单机支持上千个容器一般几十个

Docker总结

  • Docker是世界领先的软件容器平台。
  • Docker使用Google公司推出的Go语言进行开发实现,基于Linux内核的cgroup,namespace,以及AUFS类的UnionFS等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术。由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器。Docke最初实现是基于LXC
  • Docker能够自动执行重复性任务,例如搭建和配置开发环境,从而解放了开发人员以便他们专注在真正重要的事情上:构建杰出的软件
  • 用户可以方便地创建和使用容器,把自己的应用放入容器。容器还可以进行版本管理、复制、分享、修改,就
    像管理普通的代码一样。
  • Docker的镜像提供了除内核外完整的运行时环境,确保了应用运行环境一致性,从而不会再出现“这段代码在我机器上没问题啊”这类问题;——一致的运行环境
  • 可以做到秒级、甚至毫秒级的启动时间。大大的节约了开发、测试、部署的时间。——更快速的启动时间
    避免公用的服务器,资源会容易受到其他用户的影响。——隔离性
  • 善于处理集中爆发的服务器使用压力;——弹性伸缩,快速扩展
  • 可以很轻易的将在一个平台上运行的应用,迁移到另一个平台上,而不用担心运行环境的变化导致应用无法正
    常运行的情况。——迁移方便
  • 使用Docker可以通过定制应用镜像来实现持续集成、持续交付、部署。——持续交付和部署
http://www.dtcms.com/a/427948.html

相关文章:

  • 个人小说网站怎么做娄底企业网站建设制作
  • 三层交换(h3c)
  • 网站有备案 去掉备案网页制作对联
  • 静态网站制作流程怎么查看网站收录
  • 迅为Hi3403V610开发板海思Cortex-A55架构核心板卡
  • 绿建设计院网站软件库网站大全
  • 数学-绝对值(三)
  • ESP32项目(二、笔记本和ESP32点到点通讯)
  • Claude 4.5 Sonnet 全面测评
  • 公司电商网站开发合同电子商务网站建设及推广方案论文
  • 做网站流程内容上海网站运营
  • 2. 守护计划
  • QCustomPlot 核心功能与图表设置(上)——基础样式定制
  • 面经分享--金山软件开发一面
  • java Garbage
  • sward入门到实战(10) - 如何做好文档评审?
  • 网站开发类的合同范本遂宁移动端网站建设
  • 网站备案承诺书怎么写河南 网站建设
  • Anaconda常用操作
  • 政务公开和网站建设自查报告朋友要我帮忙做网站
  • 数据治理4-企业数仓开发标准与规范
  • 深圳网站建设黄浦网络 骗钱服务外包网站
  • 租用微信做拍卖网站律师网站建设建议
  • 后台与网站软文推广渠道主要有
  • 上海网站建设_永灿品牌建站三只松鼠网站推广策略
  • wordpress主题外贸网站专业做网站排名多少钱
  • JoyAgent-JDGenie深度评测:从开箱到实战,多智能体框架的工业级答卷
  • 常州企业自助建站2手房产App网站开发
  • 在线做交互网站番禺免费核酸检测
  • 社保网站做员工用工备案泉州专业网站制作公司