Docker
最近Docker火的不行不行的,正好有时间,找点资料学习一下。
1.Docker是一个轻量级虚拟化技术,比虚拟机有更多优势,简易安装、更快的速度、服务集成与开发流程自动化、跨平台、可移植性.
2.容器是一种更为轻量级的虚拟技术,一种基于操作系统的虚拟技术,它运行在操作系统上的用户空间,所有的容器都公用一个系统内核,甚至是公共库,容器引擎提供进程级别的隔离,让每个容器都像运行在单独的系统之上,但又能共享很多地底层资源。如图所示:
3.Docker是一个开源平台,它包含容器引擎和Docker Hub注册服务器
1)Docker容器引擎:将引擎可以让开发者打包他们的应用和依赖包到一个可移植的容器中
2)Docker Hub注册服务器:用户可以在该服务器上创建自己的镜像库来存储、管理和分享镜像,利用Docker,可实现软件的一次配置,处处运行,详见网址https://hub.docker.com
4.Docker的设计理念是希望用户能够保证一个容器只运行一个进程,即只提供一种服务。
5.Docker采用的是c/s架构,如图,
Docker客户端,即Docker可执行程序,可以通过命令行和API形式与Docker守候程序进行通信,Docker守候程序提供Docker服务,因此,docker有自己的命令,比如create、start、run等,主要划分为Docker环境信息、容器生命周期管理、镜像仓库命令、镜像管理、容器运维操作、系统日志信息几类。
6.在Docker中,镜像是容器的基础,镜像的本质是磁盘上一系列文件的集合。
7.Docker通过namespace实现了资源隔离,通过cogroup(control group)实现了资源限制,通过写时复制机制(copy-on-write)实现了高效的文件操作。