2022/3/24 杨澜
注:1.5 Dockerfile 和 2 VS Code 或 VS 中配置 Docker 以及 3 一种github文件夹构造介绍 比较有
用,别的就是一些理解方面的,可以不看。建议最好看完这三个部分再从 github 拉取文件夹构造本地环
境。
1 Docker
1.1 Docker是什么
1.1.1 容器是什么
有效的将单个操作系统的资源划分到孤立的组中,以便更好的在孤立的组之间平衡有冲突的资源使用需
求。
1.1.2 Dockers的原理
Docker 可以在一台物理机上隔离出多个类似虚拟机的环境。相比于虚拟机,Docker 并没有虚拟化CPU,
内存等资源,而是基于内核的机制来做进程隔离。
1.1.3 Docker和虚拟机实现原理的区别
虚拟机的 Guest OS 层(虚拟机中安装的操作系统)和 Hypervisor 层在 Docker 中被 Docker Engine 层所
替代。虚拟机实现资源隔离的方法是用 Hypervisor 虚拟化 CPU 、内存、IO 设备等实现的,类似于在实
际物理机上模拟一个物理机。
1.1.4 Docker和虚拟机相比的优点
简单来讲就是虚拟机隔离级级别更高所以没有 Docker 轻量级。
1. Docker 有着更少的抽象层,不需要虚拟实现硬件资源、使用的是实际的物理机资源,在资源利用
率上更高。
2. Docker 直接使用 Host OS (宿主操作系统,一般是 Linux )的内核然后分配相应的资源,新建容器时
不需要重新加载一个 Guest OS ,加载速度更快,镜像更小。
1.1.5 Docker需要 Linux 作为宿主操作系统为什么能在别的系统下使用
Windows 提供2种类型的容器运行时模型 Windows Server 和 Hyper-V
1. Hyper-V (Windows)
Hyper-V 中的容器仅由 Docker 管理, Hyper-V 中的虚拟机则用 Hyper-V Manager 等传统工具管理。启动
Hyper-V 容器需要比 Windows Server Containers 更长的时间,但两者都比具有完整操作系统的 VM 快。
Hyper-V 原理相当于在底层系统上运行一个 Linux 虚拟机,然后 docker 的所有容器都运行在这个虚拟机
上。虽然也建了虚拟机,但性能还是比 VM 好,而且更方便,可以和 Windows Terminal 、VS Code 等软
件联动使用。
2. Windows Server (Windows)
(了解一下就行,这个一般用不到)Windows Server Container 与 Linux Container 容器模型一致,容器
和底层操作系统共享宿主系统内核,但是 Windows Container 只能运行 Windows 应用程序。
Mac (待补充)