Docker 基础入门+实例(1)

Docker虚拟化技术的文档。旨在用于给初学者快速搭建Docker环境以及学习知识

什么是虚拟化技术

虚拟化是一个通用的概念,在计算机领域,一般是指计算虚拟化,或者通常说服务器的虚拟化。
维基百科的定义如下:

在计算机技术中,虚拟化(Virtualization)是一一种资源管理理技术,是将计算机的各种实体资源,
如服务器器、网网络、内存以及存储等,予以抽象、转换后呈现出来,打破实体结构间的不不可切割
的障碍,使用用户可以用用比比原来的组态更更好的方方式来应用用这些资源

大类上分
- 基于硬件的虚拟化
- 基于软件的虚拟化(通常使用)
基于软件的虚拟化分为:

  • 完全虚拟化
  • 硬件辅助虚拟化
  • 部分虚拟化
  • 超虚拟化
  • 操作系统虚拟化
dokcer虚化属于操作系统虚拟化的范畴

传统虚拟化与docker虚拟化的区别
这里写图片描述

什么是Docker?

Docker是基于GO语言言实现的云开源项目目,诞生生于2013年年初,最初的发起者是dotCloud公
司。
现在主流的Linux操作系统都已经支支持Docker。例例如,RedHat RHELCentOS,Ubuntu等操作
系统,都已经默认带有Docker软件包。(受版本问题,可能有些低版本的操作系统,需要自自行行行
安装)。
Docker的主要目目标是“Build Ship and Run Any App,Anywhere”,即通过对应用用组件的封装
(Packaging)、分支支(Distribution)、部署(Deployment)、运行行行(Runtime)等生生命周期的管理理,达
到应用用组件级别的“一一次封装,到处运行行行”。

Linux容器器技术
Docker引擎的基础是Linxu容器器技术。IBM给出关于容器器技术的准确描述:

容器有效地将由单个操作系统管理的资源划分到孤立的组中,以便于更好的在不同组中平衡有冲突的资
源使用需求。与虚拟化相比,这样不需要指令级模式,也不需要及时编译。容器可以在核心cpu本地运
行指令,而不需要任何专门的解释机制。此外,避免了准虚拟化和系统调用替换中的复杂性。

如何理解Docker?

可以将Docker理解为一种沙盒。每个容器运行一个应用。
不同容器相互隔离,容器间也可以建立通讯机制。
创建和部署都十分迅速。
容器自身对资源需求十分有限,远低于虚拟机

Docker的优势

  • 更快的交付和部署
  • 更高效的资源利用
  • 更加轻松的迁移和应用
  • 更加简单的更新管理

    Docker与虚拟机相比

  • Docker秒停秒起

  • 资源占用少
  • 类似git的操作来方便用户获取,分发和更新应用,指令简明
  • dockerfile配置文件来支持灵活的自动创建和部署
    这里写图片描述
    Docker的不足

  • LXC是基于cgrouyp等Linux kernel功能的,因此container的guest系统只能是Linux base的

  • 隔离比KVM等虚拟机方案还有欠缺,所有容器公用一部分的运行库
  • 网路管理简单 只要基于namespace隔离
  • cggroup的cpu和cpuset提供的cpu功能相比KVM的虚拟化方案相比难以度量(dotcloud收费)
  • 容器随着用户进程停止而销毁,log数据不便于搜集

总结
Docker是面面向应用用的,其终极目目标是构建PAAS平台,而而现有虚拟机主要目目的是提供一一个灵活
的计算资源池,是面面向架构的,其终极目目标是构建一一个IAAS平台,所以它不不能替代传统虚拟
化解决方方案。目目前在容器器可管理理性方方面面,对于方方便便运维,提供UI来管理理监控各个containers的
功能还不不足足,还都是第三方方实现如DockerUI、Dockland、Shipyard等。
Dokcer基础入门+实例(1)
Dokcer基础入门+实例(2)
Dokcer基础入门+实例(3)
Dokcer基础入门+实例(4)
Dokcer基础入门+实例(5)

猜你喜欢

转载自blog.csdn.net/weixin_39381833/article/details/80735395