什么是Docker?
|
流程:服务器 A 上运行 docker Engine 服务,在 docker Engine 上启动很多容器container,从外网Docker Hub上把image操作系统镜像下载来,放到container容器运行。这样一个容器的实例就运行起来了。最后,通过Docker client对docker容器虚拟化平台进行控制。 Image 和 Container 的关系:image 可以理解为一个系统镜像,Container 是 Image 在运行时的一个状态。如果拿虚拟机作一个比喻的话,Image 就是关机状态下的磁盘文件,Container 就是虚拟机运行时的磁盘文件,包括内存数据。 dockerhub:dockerhub 是docker官方的镜像存储站点,其中提供了许多常用的镜像供用户下载,如 ubuntu, centos 等系统镜像。通过dockerhub用户也可以发布自己的docker镜像,为此用户需要注册一个账号,在网站上创建一个docker仓库。 Docker 核心技术 1.Namespace — 实现Container的进程、网络、消息、文件系统和主机名的隔离。 2.Cgroup — 实现对资源的配额和度量。
注:Cgroup 的配额,可以指定实例使用的cpu个数,内存大小等。就像如下图,vmware 虚拟机中的硬件配置参数。 Docker特性 文件系统隔离:每个进程容器运行在一个完全独立的根文件系统里。 资源隔离:系统资源,像CPU 和内存等可以分配到不同的容器中,使用cgroup。 网络隔离:每个进程容器运行在自己的网络空间,虚拟接口和IP地址。 日志记录:Docker 将会收集和记录每个进程容器的标准流(stdout/stderr/stdin),用于实时检索或批量检索。 变更管理:容器文件系统的变更可以提交到新的镜像中,并可重复使用以创建更多的容器。无需使用模板或手动配置。 交互式shell:Docker 可以分配一个虚拟终端并关联到任何容器的标准输入上,例如运行一个一次性交互 shell。 (编辑:宜春站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |



