1.Docker基础

简介

Docker的基本概念

        Docker是一个能给开发人员和系统管理人员提供在容器内 开发、部署、运行 软件程序的一个平台。当然Docker是一家软件公司的一个商业产品,有免费版和企业付费版本,后面文章会详细介绍。

       上面提到了容器这个概念,初学者,完全可以认为,Docker就是容器,本系列文章,大部分情况下,提到的容器就是指Docker, 在目前中软件行业中,使用到容器的技术,主要有两个大产品,一个是Docker,另外一个是谷歌的kubernetes,简称k8s,数字8表示中间省略了8个字母。K8s是一个容器编排工具,非常强大。

       使用linux容器去部署应用程序的方式叫做容器化技术。下面我们来解释下容器化和虚拟化之间的对比。

虚拟化VS容器化

        在很早以前,我们要部署一个软件,需要去买一台服务器,例如IBM或者Sun公司的服务器 ,然后在服务器上安装系统,配置网络,选择内存,然后开始部署相关应用软件。在虚拟化技术出来之前,很多IT基础设施就是这么玩转的。后来,软件的迁移和扩展变得很困难,例如要加内存,这个还好解决,有些甚至要新买服务器,甚至更换服务器。下面这张图,就来介绍下虚拟化和我们当今的容器化技术的特点和对比。

上面这张图来自Docker官网,左边是容器技术,右边是虚拟化技术。

最底层的Infrastructure,是基础设施,例如机房中大型物理服务器,网络,硬盘和内存资源。这些叫基础架构。基础架构上面一层Hypervisor,即虚拟化层。这一层,拿VMware公司的产品ESXi来说,就是一个安装在物理服务器上的虚拟化操作系统。安装了这个虚拟化操作系统,可以在这个物理主机上创建多个虚拟机。Workstation就是我们个人机器上的一个客户端产品,对应到大型服务器上,就要买VMware的ESXi主机管理系统。以上图来看,安装了三个虚拟操作系统。没一个vm都单独互相隔离,它们有自己的操作系统,和CPU 内存等资源,然后部署不同的应用程序。这种应用场景,在VMware公司的产品里,随处可见。例如一个vSphere center产品,其实就是一个linux虚拟机模板,里面有安装好的内嵌数据库和suse Linux操作系统还有vSPhere center这个软件。这种软件,只需要导入到用户的环境中,开机启动,相应的软件服务就起来了只需要简单的配置,这个软件就能用。

       有了上面虚拟化的了解,再来看看左边容器化技术。容器化技术就是在原来操作系统之上,安装了一层Docker服务。这里Docker服务不是一个系统,只是一个软件。Docker运行在操作系统上的一个进程。在Docker层之上的是三个Container, 这三个容器内部单独运行自己的应用程序,也互相隔离。容器和虚拟化操作系统对比,容器更小巧,更方便。容器有一个特点,做好了镜像文件,可以在其他任何系统上,前提是安装了docker软件上跑起来

Docker能做什么

我们为什么要学习Docker,Docker为什么能成为这么一门火爆的技术。先来看看Docker能干什么。

    简化配置
    整合服务器
    代码流水线管理
    调试能力
    提高开发效率
    多租户
    隔离应用
    快速部署

这里简单介绍几个特点:

1 简化配置

Docker能实现从源代码到配置都打包成一个容器,所以简化了很多配置。

2.提高开发效率

配置简化当然就提高了开发效率。Docker还有一个特点就是可以做到测试环境,准生产环境和线上环境几乎保持一样的环境和配置。这个极大减少了开发调试错误和解决问题的效率。

3.隔离应用

多个应用可以放在不同的容器中隔离开来,每一个容器互不干扰其他容器内部的应用。

4.快速部署

原来的运维人员需要配置很多在线上环境,现在部署软件,就是把所有数据打包成容器,把容器下载启动和简单配置就可以快速完成部署。

在容器时代,这两个容器拳头技术产品不得不了解。Docker能实现创建镜像,管理容器和容器编排。而K8s主要强大功能就是容器的编排管理和操作。作为初学者,你大概这么去理解就可以:学习Docker是了解容器化技术的基础,虽然Docker也有容器编排的技术,后面我们会讲到,但是为什么还要学习K8s呢。在这些大公司,生产环境,成千上万个容器管理,基本上都是采用k8s的基本框架,加上自己的研发工具。K8s是生产环境上大规模集群的首选技术方案,我们这个系列会提到k8s,基本上不会去学习。要学习也是放在Docker基础学习之后。

上面提到的容器编排就是对容器的创建、管理、调度。运维等操作。最后,总结一句话,Docker是容器技术的一种实现。市场还有其他产品也实现了容器技术,只不过Docker是里面优秀的之一。就好像我前面写的CI和CD平台中最火的软件是Jenkins,一样道理。
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值