Docker 概述

大兔子大兔子 提交于 2021-02-17 02:42:29

什么是Docker?

上图是虚拟机和容器的区别(让不同的应用运行在不同的虚拟机里面,实现了这个应用的隔离,容器技术同样也可以做到应用的隔离,而且它速度要比虚拟化技术要更方便更小巧)

Docker能干什么?

  1. 简化配置(也是容器最重要的一个功能,源代码、运行环境、配置都可以打包到一个服务器里面,这个容器可以运行在不同的环境里面,配置简化了自然就可以提高开发效率)
  2. 代码流水线管理
  3. 提高开发效率
  4. 隔离应用
  5. 整合服务器
  6. 调试能力
  7. 多租户
  8. 快速部署

容器时代的“双城记”,两大热门技术:docker、kubernetes(简称k8s,因为k和s之间有8个字母)

kebernetes是一个容器编排的工具(就是对容器的创建、管理、调度、运维等)

大海航行靠舵手--Kubernetes

DevOps = 文化 + 过程 + 工具

传统的项目部署:

  1. 首先要买一台 Physical server
  2. 然后要安装一个操作系统 Operating System Windows或Linux

这就暴露了很多的缺点:

  1. 部署非常慢
  2. 成本非常高
  3. 资源浪费
  4. 难于迁移和扩展
  5. 可能会被限定硬件厂商

虚拟化技术出现以后:

虚拟化的优点:

  • 资源池———一个物理机的资源分配到了不同的虚拟机里
  • 很容易扩展———加物理机器or加虚拟机
  • 很容易云化———亚马逊AWS,阿里云等

虚拟化的局限性:

  • 每一个虚拟机都是一个完整的操作系统,要给其分配资源,当虚拟机数量增多时,操作系统本身消耗的资源必增多

容器技术为什么会出现:

容器解决了什么问题?

  • 解决了开发和运维人员之间的矛盾
  • 在开发和运维之间搭建了一个桥梁,是实现devops的最佳解决方案
  • 容器技术其实就是提供了一个App的打包
  • 打包好的容器可以运行到任何的环境上的,这样就解决了开发和运维不在同一个环境上的问题

什么是容器?

  • 对软件和其依赖的标准打包
  • 应用之间相互隔离
  • 共享一个 OS Kernel
  • 可以在很多主流操作系统上

容器和虚拟机的区别:

  • 容器是APP层面的隔离
  • 虚拟化是物理资源层面的隔离

虚拟化技术和容器技术是可以融合使用的

Docker只是容器化技术的一种实现

 

 

 

 

 

 

 

 

 

 

 

 

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!