基本概念
虚拟机:带环境安装的一种解决方案,可以在一种操作系统里面运行另一种操作系统。
容器虚拟化技术:Linux容器不是模拟一个完整的操作系统,而是对进程进行隔离。
Docker:解决了运行环境和配置问题的软件容器,方便做持续集成并有助于整体发布的容器虚拟化技术。
Docker优势:
- 更快速的应用交付和部署
- 更便捷的升级和扩缩容
- 更简单的系统运维
- 更高效的计算资源利用
Docker三要素:仓库,镜像,容器
- 镜像(Image):是一个只读的模板。镜像可以用于创建容器,一个镜像可以创建多个同时运行的容器实例。
- 容器(Container):独立运行的一个或一组应用。是用镜像创建的运行实例,相互隔离,保证安全。
- 容器和镜像的区别在于容器的最上层可读可写。
- 仓库(Repository):集中存放镜像文件的场所。
Docker安装(Mac)
$ brew cask install docker
$ docker --version
阿里云镜像加速
- 注册阿里云账号并登陆,https://cr.console.aliyun.com/cn-shenzhen/new
- 镜像加速器 - 加速器地址 - 复制地址
- docker 图标 - Preferences - Daemon - Registry mirrors,将加速器地址加到"registry-mirrors"数组,Apply & Restart,等待Docker重启并应用配置的镜像加速器
运行HelloWorld镜像
$ docker run hello-world
出现“Hello from Docker!”等内容表示运行成功。
Docker底层原理
为什么Docker比VM快?
- Docker有比虚拟机更少的抽象层,不需要Hypervisor实现硬件资源虚拟化。
- Docker利用的是宿主机的内核,而不需要GuestOS。
Docker与VM比较
Docker容器 | VM | |
---|---|---|
操作系统 | 与宿主机共享OS | 宿主机上运行虚拟机OS |
存储大小 | 镜像小,便于存储和传输 | 镜像庞大(vmdk、vdi等) |
运行性能 | 几乎无额外性能损失 | 操作系统额外的CPU、内存消耗 |
移植性 |