随着云产品和云服务的普及,各类各样的相关技术开始层出不穷,Docker做为一门热门的技术被愈来愈多的公司和开发者所使用,本篇文章主要为你们简单介绍一下Docker,帮助你们理解一下Docker中经常使用的一些概念,很是适合初学者。html
Docker是一个开源的应用容器引擎,基于Go语言并听从Apache2.0协议开源,Docker主要是对进程进行封装隔离,属于操做系统层面的虚拟化技术,因为隔离的进程独立于宿主和其它隔离的进程,所以称其为容器。基于Docker开发者们能够将应用程序以及依赖包一块儿打包到一个轻量级,可移植的容器中,而后发布到任何流行的Linux机器和Windows Server(目前支持的Windows Server版本为Windows 2016,Windows 2019和Windows 10)上,也能够实现虚拟化。git
补充:针对Win7和Win8系统来讲也能够利用Docker toolbox进行安装,docker toolbox是一个工具集,主要包含:docker
Docker CLI客户端:用来运行Docker引擎建立镜像和容器shell
Docker Machine: 可让你在windows的命令行中运行docker引擎命令数据库
Docker compose:用来运行docker-compse命令编程
Kitematic:Docker的GUI版本windows
Docker QuickStart shell:一个已经配置好Docker的命令行环境服务器
Oracle VM Virtualbox:虚拟机架构
固然目前Docker已经有了Docker for windows的专业安装包,所以咱们主要针对最新的Docker for windows来学习。工具
Docker使用客户端-服务器(C/S)架构模式,使用远程API来管理和建立Docker容器。Docker容器经过镜像(Image)来建立。容器至关因而镜像的一个实例,容器与镜像的关系相似于面向对象编程中对象与类的关系。
传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操做系统,在该系统上再运行所需应用进程;而容器内的应用进程直接运行于宿主的内核,容器内没有本身的内核,并且也没有进行硬件虚拟。所以容器要比传统虚拟机更为轻便,快捷。
Docker镜像(Images): Docker镜像是用来建立Docker容器的模板。Docker镜像是一个特殊的文件系统,提供了容器运行时所需的程序,库,资源,配置等等。Docker Image是容器的基础,Docker容器的运行都是基于Image运行的,Docker镜像中包含了运行环境和配置,因此Docker能够简化部署多种应用实例工做,好比Web应用,后台应用,数据库应用,大数据应用好比Hadoop集群,消息队列等等均可以打包成一个镜像部署。
Docker 容器(Container): 容器是独立运行的一个或一组应用。镜像是静态的定义,容器是镜像运行时的实体。容器能够被建立,启动,中止,删除,暂停等。容器的实质是进程,但与直接在宿主执行的进程不一样,容器进程运行于属于本身的独立的命名空间。实际开发的过程当中你们要注意一点:容器不该该向其存储层内写入任何数据,容器存储层要保持无状态化。
Docker仓储(Registry): Docker Registry用来保存镜像,能够理解为代码控制中的代码仓储。Docker Hub(https://hub.docker.com)提供了庞大的镜像集合供使用。镜像构建完成后,能够很容易的在当前宿主机器上运行,可是,若是须要在其它服务器上使用这个镜像,咱们就须要一个集中的存储,发布镜像的服务,Docker Registry就是这样的服务。一个Docker Registry中能够包含多个仓储(Repository),每一个仓储能够包含多个标签(Tag),每一个标签对应一个镜像。
以上就是初学Docker时你们会遇到的概念性相关的知识,但愿会对你们对Docker的学习和理解有所帮助。
相关资料:
yeasy.gitbooks.io/docker_prac…