尚硅谷Docker---1、docker杂记
一、总结
一句话总结:
~ php用的homestead就相当于docker,javaee一般都是用docker,php也可以用docker
~ docker强就强在性能好,而且是分块的
1、docker和linux的关系?
docker就是微缩版的linux,所以命令也和linux的命令差不多
2、docker为什么性能好?
不同的模块共用底层的内核
3、Docker 和传统虚拟化方式的不同之处?
* 传统虚拟机技术是虚拟出一套硬件后,在其上运行一个【完整操作系统】,在该系统上再运行所需应用进程;
* 而容器内的应用进程【直接运行于宿主的内核】,容器内没有自己的内核,而且也没有进行硬件虚拟。因此容器要比传统虚拟机更为轻便。
* 每个容器之间【互相隔离】,每个容器有自己的文件系统 ,容器之间进程不会相互影响,能区分计算资源。
4、docker是怎么工作的?
Docker是一个【Client-Server结构】的系统,Docker守护进程运行在主机上, 然后【通过Socket连接从客户端访问】,守护进程从客户端接受命令并管理运行在主机上的容器。 容器,是一个运行时环境,就是我们前面说到的集装箱。
5、为什么Docker比较比VM快?
(1)docker有着比虚拟机更少的抽象层。
(2)docker利用的是宿主机的内核,而不需要Guest OS。
(1)docker有着比虚拟机更少的抽象层。由亍docker不需要Hypervisor实现硬件资源虚拟化,运行在docker容器上的程序直接使用的都是实际物理机的硬件资源。因此在CPU、内存利用率上docker将会在效率上有明显优势。
(2)docker利用的是宿主机的内核,而不需要Guest OS。因此,当新建一个容器时,docker不需要和虚拟机一样重新加载一个操作系统内核。仍而避免引寻、加载操作系统内核返个比较费时费资源的过程,当新建一个虚拟机时,虚拟机软件需要加载Guest OS,返个新建过程是分钟级别的。而docker由于直接利用宿主机的操作系统,则省略了返个过程,因此新建一个docker容器只需要几秒钟。