Docker 的基础知识
Docker 的架构
下图是网络上常见的 Docker 容器的架构图
Docker 包含如下组件:
- Docker deamon (Docker 守护进程): Docker deamon 是一个运行在宿主机的后台进程,我们可以通过 Docker 客户端与之通信。
- Client (Docker 客户端): Docker 客户端是客户 Docker 的客户界面,他可以接受用户命令和配置标识,并与 Docker deamon 通信。
- Images (Docker 镜像):Docker 镜像可以理解为一个只读模板,一个 Docker 镜像包含了一个基本的操作系统环境。Docker 通过版本管理和增量文件系统,为镜像提供了一套十分简单的机制来创建和更新现有镜像。
- Container (容器):容器可以视为一个运行起来的镜像。Docker 容器类似于一个轻量级的沙箱,可以用来运行和隔离应用。即容器从镜像创建应用运行实例时,运行实例的启动,开始、停止删除对于其他容器中的实例都是不可见的。
- Registry (注册中心) : Docekr Registry 是一个集中存储与分发的镜像服务。这其中包含了注册服务器与 Docker 仓库。Docker 仓库是 Docker 集中存放镜像的场所。而注册服务器重要用于存放 Docker 仓库。根据仓库是否公开,也分为公有仓库和私有仓库。
容器技术与虚拟机的区别
容器技术与虚拟机技术都属于虚拟化技术,所谓虚拟化技术,其实是一种资源管理的技术,是将计算机的各种实体资源,如服务器、网络、内存以及存储等予以抽象然后转化出来的,虚拟化技术存在的目的其实就是打破实体结构之间不可切割的障碍,使用户可以比原本的组状态更好的方式来应用这些资源
虚拟机技术的不足
虚拟机的使用最大的缺点是虚拟机需要依赖其专用的虚拟机管理系统。这个虚拟机管理系统会占用额外的 CPU、RAM 和存储。同时虚拟机还存在启动缓慢,可移植性较差等缺点。
容器化技术
容器化技术不会独占操作系统,实际上运行在同一宿主机上的容器是共享一套操作系统,这样便可以节省大量资源