Docker概念整理

 1.关于容器(Container)

主机为应用程序提供的完整的、隔离的用户空间环境。某个容器内部的变动,不会影响其他容器。

容器技术利用 Linux Namespace、cgroups 等完成容器的隔离与资源限制。

同时,容器之间共享同一个操作系统内核。

2. 容器与虚拟化

相比容器技术,系统级虚拟化在隔离性方面更加成熟。它为用户提供了一个包括虚拟硬件(CPU/内存/IO 设备等)、操作系统在内的完整环境。

而容器在启动销毁速度、资源消耗、弹性伸缩等方面表现得极为高效;但在隔离性与安全性方面,仍有很长的路要走。

3.关于 Docker

它提供了简易的容器运行控制方法,便捷的镜像存储分发机制,以及高速发展的集群化方案。

Docker 的出现大大降低了应用部署的难度,严格保证了线上环境的一致性。

Docker Daemon 是运行在主机上的 Docker 服务守护进程。它作为 Docker 的 Server 端存在,实现了容器/镜像相关的 API。

想要启动 Docker 容器,必须先启动 Docker Daemon。在我们的内部支持版本中,Docker 服务在 CentOS 7 上由 systemd 管理。

Docker Client 封装了访问 Docker Daemon API 的方法,并通过 socket(s) 与(同主机或不同主机的) Docker Daemon 通信。

Docker 安装包集成了 Docker Daemon (dockerd) 和 Docker Client (docker)。

Docker Image,即 Docker 镜像,类似不包含运行状态的容器快照。镜像内容包括应用程序及其依赖、环境变量、入口进程、端口信息等。

镜像为层级叠加结构(layers),并采用 Copy-on-Write 机制以节省空间。一个完整的镜像由一层或多层组成。

LayerID 是一个唯一的 64 位哈希值,每层包含自身内容和它依赖的下一层的 layerID。

Docker Registry Docker 的镜像存储、分发中心。

Docker 心仪的应用类型:高可用,可伸缩,无状态

实际上,所有的应用都可以用 Docker 运行。即便无法利用其与集群结合得到的弹性伸缩这个优秀特性,Docker 依旧可以在单机环境下发挥它的其他优势:只需一次封装,即可永久保证环境的一致性

猜你喜欢

转载自blog.csdn.net/WANG_CODER/article/details/88390675