Eleght科技 docker是干什么的

本期Eleght科技给大家分享一下Docker的入门技术,自己觉得太权威的解释并不能说的透彻明白,所以特以此文来表述自己的见解,如果哪里有说的不恰当的希望朋友们能指出来,大家共同学习进步,小E不胜感激!

Eleght科技 docker是干什么的

文章插图
我们先来了看一下Docker我先来启动一个docker,键入以下命令:为什么后面我会详细介绍的,看看docker给我们带来了什么
docker run -it ubuntu
Eleght科技 docker是干什么的

文章插图
【Eleght科技 docker是干什么的】1-1
如图1-1所示 , 我们启动了一个Docker的容器,使用了root的账户来登陆,后面的数字字母代表了容器的命令,我们接着运行一些shelll命令 , 比如ps,如图1-2
Eleght科技 docker是干什么的

文章插图
1-2
我们可以看到包含一些文件命令比如进程的查看,这与我们传统的虚拟机有着很大的相似性,实际上docker的容器技术就是虚拟化技术的一种 。
什么是容器呢容器是一种虚拟化的方案,它与传统的虚拟机不同,传统的虚拟机是通过中间层向一台或者多台独立的机器虚拟运行于物理硬件之上 , 而容器是直接运行在操作系统内核之上的用户空间,因此容器虚拟化也称为操作系统虚拟化 。
又因为容器依赖操作系统,所以只能运行相同或相似内核的操作系统 , 而docker是依赖于Linux内核的Namespace和Cgroups特性 , 所以docker只能运行在Linux系统 , 这也就是为什么不能运行在Windows系统之上的原因 。
Linux容器技术VS虚拟机我以两张图来说明:
Eleght科技 docker是干什么的

文章插图
1-3
Eleght科技 docker是干什么的

文章插图
1-4
具体优点我来总结一下,其实就两大条 。
1、占用的磁盘空间更少,原因很简单,当我们使用虚拟机部署应用 , 不但得包括应用依赖的库,而且需要包含完整的操作系统 , 原本只需要几十兆的应用,却需要几个G的操作系统来支持,而容器只需要应用以及它所依赖的库即可,大大减少了磁盘占用 。
2、虚拟机是模拟硬件的行为,对内存和CPU的损耗也十分的大,所以使用相同容器能比虚拟机提供更多的服务能力,服务更多的用户,占用更少的资源 。
Docker的出现容器技术既然有这么大优点,为什么直到Docker的出现才被大家关注起来呢?原因很简单:复杂 。容器本身就比较复杂,依赖于Linux内核的很多特性,而且不易于安装、管理、也不容易实现自动化 。
而Docker的出现就是为了改变这一切,让容器技术变得简单起来 。
什么是Docker
Eleght科技 docker是干什么的

文章插图
简单的一句话概括为:可将应用程序自动部署到容器的技术 。
它是用Go语言编写的,并且是开源的 , GitHub地址:github.com/docker/docker
它提供简单轻量的建模方式,Docker非常容易上手,用户只要几分钟就可以把自己的程序docker化,大多数应用程序不超过一秒就可以运行起来 。就像我们刚开始时运行的一个Docker容器,一条命令就可以运行,启动非常的快,由于Docker去除了应用程序的开销,Docker拥有很高的性能,所以可以在Linux中运行多个容器,充分的利用主机资源 。
使用Docker后,开发人员只需要关心容器中运行的应用程序 , 运维人员只需要关心如何管理容器,Docker开发的主要目的就是给开发人员提供一个好的开发环境与应用程序要部署生产环境的一致性 。
Docker能做什么呢说了这么多,那么docker具体能做些什么呢?
1、使用Docker容器开发、测试、部署服务
2、创建隔离的运行环境
3、搭建测试环境
4、构建多用户的平台基础设施,即Paas,上几期中我们分享了云计算平台Iaas的搭建方法,再往上一层就是Paas平台了
5、就是软件及服务的搭建,即Saas,也就是云计算平台的最高层 。
6、高性能大规模的宿主机部署
好了,Docker的介绍就到这里了,小E下期会接着详细分享Docker的搭建以及使用方法,更多内容就请关注Eleght科技!
Eleght科技 docker是干什么的

文章插图