关于Docker的一些不得不知道的事

Docker是基于LXC(Linux容器虚拟技术,Linux Container)的开源的应用容器引擎,属于轻量级的虚拟化技术。
传统的虚拟化方式是在硬件层面实现虚拟化,需要在操作系统上虚拟化独立的操作系统层,并在虚拟化处理的操作系统层上运行应用,不仅要管理虚拟化的操作系统还需要管理应用。而Docker虚拟化技术是操作系统层面上的虚拟化,直接复用本地主机操作系统,并在虚拟化的操作系统上运行应用,不需要额外管理操作系统,只需要关注应用本身就可以了。在Docker中有三个核心概念,镜像(Image),仓库(Container),容器(Container)。Docker通过在仓库中获取镜像,然后实例化镜像生成容器,整个过程就像一个大师(Docker)去博物馆(仓库)看到了一个杯子的照片(镜像),回家后大师(Docker)根据博物馆(仓库)的照片(镜像)仿制了很多杯子(容器),非常好理解。


Docker发展历程

2010年,dotCloud公司在美国旧金山成立,为Docker的出现提供了垫定了基础。
       随后,dotCloud公司将自己的容器技术进行了简化和标准化,并命名为Docker。
       2013年3月,Docker项目开源,Docker 0.1版本发布。
       2014年6月9日,Docker 1.0版本正式发布。
       2017 年于 Austin 举办的 DockerCon 上正式命名为 Moby 项目,GitHub 上的 docker/docker 库也被转移到了 moby/moby。

核心概念


镜像 Image
        镜像可以看所是一个通过UnionFS与AUFS文件联合实现的多层文件系统。通常来说我们常说的镜像包含一个底层操作系统镜像层和一到多个应用镜像层。底层镜像层负责提供用户,文件系统,网络等操作系统层级功能,应用镜像层提供应用环境如tomcat,nginx等应用运行环境以及应用服务。每个镜像层之间通过指针的形式进行叠加,共同构成服务运行的基础环境。
     
仓库
       仓库是镜像的存储空间,Docker公司提供公共的镜像仓库(Docker称之为Repository),Github connect,自动构建镜像,大大简化了应用分发、部署、升级流程。用户也可以创建自己的本地仓库,存储各种自定义的镜像文件。
容器
       容器是镜像的实例化,可以看作一个简易版的操作系统环境包含root用户权限,进程空间,用户空间和网络空间等)和运行在其中的应用程序,可以执行包含启动,停止,删除等。每个容器间是相互隔离的。容器中会运行特定的运用,包含特定应用的代码及所需的依赖文件。

总结
       Docker是一个轻量级的虚拟化技术,缺乏对容器有效的编排、管理、调度功能。在将Docker应用于具体业务实现时,一般会采用基于容器的集群管理平台K8s对Docker以及Docker容器统一管理。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章