目录
一、Docker介绍
Docker基于Go语言开发,主要目标是"Build,Ship and Run Any App,Anywhere",通过对应用封装、分发、部署、运行等生命周期的管理,使应用及其运行环境做到"一次镜像,处处运行"。

Docker官网:http://www.docker.com
Docker Hub官网: https://hub.docker.com
二、Docker基本组成
Docker主要由镜像(image)、容器(container)、仓库(repository)组成。
- 镜像(image):Docker镜像(image)是只读模版,用来创建Docker容器,一个镜像可以创建多个容器。
- 容器(container):Docker利用容器(Container)独立运行一个或一组应用,应用程序运行在容器里面,每个容器都是相互隔离的。
- 仓库(Repository):仓库(Repository)是集中存放镜像文件的场所。

三、Docker工作原理
Docker是Client-Server架构,Docker守护进程运行在主机上,然后通过Socket连接从客户端访问,守护进程从客户端接受命令并管理运行在主机上的容器。

四、容器与虚拟机比较
4.1、传统虚拟机技术
虚拟机通过虚拟化技术,将物理计算机的资源(如CPU、内存、存储和网络接口)分割成多个独立的虚拟资源。每个虚拟机可以安装自己的操作系统,运行独立的应用程序。虚拟机监控器在物理硬件之上运行,负责管理和分配虚拟机的资源,确保各个虚拟机之间互不干扰。

4.2、容器虚拟化技术
容器(Container)是一种轻量级的虚拟化技术,它通过操作系统级的虚拟化,将应用程序及其依赖环境打包在一起,确保应用程序可以在任何环境中一致运行。与虚拟机不同,容器共享宿主操作系统的内核,而不是虚拟化整个操作系统。

4.3、两者比较
-
资源消耗:传统虚拟化技术需要额外的Hypervisor层,因此在启动和运行虚拟机时会占用更多的系统资源,而Docker容器共享宿主操作系统的内核,资源消耗更少。
-
启动时间:由于Docker容器不需要启动完整的操作系统内核,所以它们的启动时间比传统虚拟机更快。
-
部署复杂性:传统虚拟化技术需要预先安装和配置完整的操作系统,而Docker容器可以通过镜像快速部署应用程序及其依赖项。
-
隔离性:传统虚拟化技术提供完全的隔离,每个虚拟机运行在独立的环境中,而Docker容器采用进程级隔离,它们共享宿主操作系统的内核。
