01-Docker概述
Docker 的主要目标是:Build, Ship and Run Any App, Anywhere
,也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的 APP 及其运行环境能做到一次镜像,处处运行。
Docker 运行速度快的原因:
由于 Docker 不需要 Hypervisor(虚拟机)实现硬件资源虚拟化,运行在 Docker 容器上的程序直接使用的都是实际物理机的硬件资源,因此在 CPU、内存利用率上docker 有明显优势。
Docker 利用的是宿主机的内核,而不需要加载操作系统 OS 内核:
当新建一个容器时,Docker 不需要和虚拟机一样重新加载一个操作系统内核。进而避免引寻、加载操作系统内核返回等比较耗时耗资源的过程。当新建一个虚拟机时,虚拟机软件需要加载 OS,返回新建过程是分钟级别的。而 Docker 由于直接利用宿主机的操作系统,则省略了返回过程,因此新建一个 docker 容器只需要几秒钟。
Docker 容器的本质就是一个进程。
Docker 并非一个通用的容器工具,它依赖于已经存在并运行的 Linux 内核环境。(在 Windows 上安装 Docker 时需要依赖 WLS,也即 Windows 下的 Linux 子系统)。
Docker 是在已经运行的 Linux 下制造了一个隔离的文件环境,因此它执行的效率几乎等同于所部署的 Linux 主机。
Docker 的基本组成部分:
- 镜像(image)
Docker 镜像就是一个只读的模板。镜像可以用来创建 Docker 容器,一个镜像可以创建多个容器。 - 容器(container)
Docker 利用容器独立运行