<aside> <img src="/icons/log-in_blue.svg" alt="/icons/log-in_blue.svg" width="40px" /> Docker快速入门

</aside>

Docker简介和体系结构

Docker 是一个用于构建(build)、运行(Run)、传送(Share)应用程序的平台,可以将应用程序打包成一个个小的集装箱,小鲸鱼就会帮我们把他们运送到任何需要的地方。有了Docker,我们可以把应用程序和它运行时候所需要的各种依赖包,第三方软件库,配置文件等打包在一起,以便在任何环境中(开发环境、测试环境、部署环境等)都可以正确的运行。

Untitled

Untitled

Docker和虚拟机的区别

虚拟机是通过虚拟化(hypervior)的技术来实现的,它可以将一个物理资源虚拟为多个逻辑资源,如把一台物理服务器虚拟成为多个逻辑服务器。每个逻辑服务器都有自己的操作系统,CPU,内存,硬盘和网络接口等,他们之间是完全隔离的,可以独立运行。

虚拟机在一定程度上实现了资源的整合,可以将一台服务器的计算能力、存储能力、网络资源分配给多个逻辑服务器,实现多台服务器的功能。

Untitled

虚拟机的缺点是每一台虚拟机都会占用资源,而且启动速度慢。大部分的情况下,一台服务器运行一个主要对外提供服务的程序即可,并不需要一个完整的操作系统所提供的所有功能。此时虚拟机会启动很多我们并不需要的服务,导致资源浪费和启动速度慢。

Untitled

Docker 是容器的一种实现 是容器化的解决方案和平台

容器是一种虚拟化技术 是一个独立的环境 可以在这个环境中运行应用程序

与虚拟机不同的是 它并不需要在容器中运行一个完整的操作系统 而是使用宿主机的操作系统 启动速度非常快 (通常只需要几秒钟)因为需要的资源更少 所以在一台物理服务器上运行更多的容器 充分利用资源 (一台服务器可以运行几个虚拟机 但可以运行上百个容器)

Docker的架构模式

Untitled

Docker使用client -server的架构模式 Docker Client和 Docker Daemon之间通过socket或者RESTful API进行通信 我们的各种要求是在client端给daemon发请求 server端出来好以后再返回执行结果