赞
踩
Docker是一个开放源代码软件项目,让应用程序布署在软件容器下的工作可以自动化进行,借此在Linux操作系统上,提供一个额外的软件抽象层,以及操作系统层虚拟化的自动管理机制。
Docker利用Linux核心中的资源分离机制,例如cgroups,以及Linux核心名字空间(name space),来创建独立的软件容器(containers)。这可以在单一Linux实体下运作,避免启动一个虚拟机造成的额外负担。Linux核心对名字空间的支持完全隔离了工作环境中应用程序的视野,包括进程树、网络、用户ID与挂载文件系统,而核心的cgroup提供资源隔离,包括CPU、存储器、block I/O与网络。从0.9版本起,Dockers在使用抽象虚拟是经由libvirt的LXC与systemd - nspawn提供界面的基础上,开始包括libcontainer库做为以自己的方式开始直接使用由Linux核心提供的虚拟化的设施,
容器和虚拟机具有类似的资源隔离和分配优势,但功能不同,因为容器虚拟化操作系统而不是硬件。容器更便携,更高效。
容器是应用层的抽象,它将代码和依赖关系打包在一起。多个容器可以在同一台机器上运行,并与其他容器共享操作系统内核,每个容器在用户空间中作为独立进程运行。容器占用的空间比VM少(容器映像的大小通常为几十MB),可以处理更多的应用程序,并且需要更少的VM和操作系统。
虚拟机(VM)是物理硬件的抽象,将一台服务器转变为多台服务器。虚拟机管理程序允许多台虚拟机在一台计算机上运行。每个VM都包含操作系统的完整副本,应用程序,必要的二进制文件和库 - 占用数十GB。虚拟机也可能很慢启动。
通过运行镜像启动容器。镜像是一个可执行包,包含运行应用程序所需的所有内容 - 代码,运行时,库,环境变量和配置文件。Docker 运行容器前需要本地存在对应的镜像,如果本地不存在该镜像,Docker 会从镜像仓库
下载该镜像
容器是图像的运行时实例,
存放镜像的地方,一个容易混淆的概念是注册服务器(Registry ) 。实际上注册服务器是管理仓库的具体服务
器,每个服务器上可以有多个仓库,而每个仓库下面有多个镜像。从这方面来说,仓库可以
被认为是一个具体的项目或目录。例如对于仓库地址 dl.dockerpool.com/ubuntu 来说, dl.dockerpool.com 是注册服务器地址, ubuntu 是仓库名。
我们来看一个图简单说明一下三者之间的关系
Docker 采用了 C/S 架构,包括客户端和服务端。Docker 守护进程 (Daemon ) 作为服务端接受来自客户端的请求,并处理这些请求(创建、运行、分发容器)
Docker 守护进程一般在宿主主机后台运行,等待接收来自客户端的消息。
Docker 客户端则为用户提供一系列可执行命令,用户用这些命令实现跟 Docker 守护进程交
互。
默认情况下,Docker守护程序侦听UNIX套接字上的连接以接受来自本地客户端的请求。通过将Docker配置为侦听IP地址和端口以及UNIX套接字,可以允许Docker接受来自远程主机的请求。
命名空间是 Linux 内核一个强大的特性。每个容器都有自己单独的命名空间,运行在其中的应用都像是在独立的操作系统中运行一样。命名空间保证了容器之间彼此互不影响。
控制组(cgroups) 是 Linux 内核的一个特性,主要用来对共享资源进行隔离、限制、审计等。只有能控制分配到容器的资源,才能避免当多个容器同时运行时的对系统资源的竞争。控制组可以提供对容器的内存、CPU、磁盘 IO 等资源的限制和审计管理。命名空间主要是实现了系统资源的隔离,而cgroups则是负责资源的分配
Docker采用了分层构建的机制,最底层为bootfs,在此之上为rootfs
bootfs主要是用于系统引导的文件系统,一旦引导完成就会将bootfs这一层卸载掉,它的存活时间非常短。
rootfs表现为Docker容器的根文件系统,传统模式中,系统启动之时,内核挂载rootfs时会首先将其挂载为“只读”模式,完整性自检完成后将其重新挂载为读写模式;docker中,rootfs由内核挂载为“只读”模式,而后通过“联合挂载 ”技术额外挂载一个“可写”层;
启动一个容器的时候,Docker会在镜像上附加一层可写层,顶层以下都只是可读,这时候用户删除底层文件,并不是真正删除而只是标记为不可见,但是实际上文件在底层还是存在的。如果用户需要修改底层文件,Docker将底层文件复制到顶层让你进行修改,同时底层文件也是存在的,只是当你读修改后的文件的时候指向的位置是顶层而不是原来的底层文件了。
图片全部来自网上,如有侵权,联系作者删除
qq:835311324
参考链接
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。