一、Docker简介
1.1 什么是Docker
Docker 是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低。
1.2 Docker架构
如图所示,Docker 使用客户端-服务器 (C/S) 架构模式,分为客户端和Docker守护进程。Registry是镜像仓库,类似于GitHub。
1.3 Docker的两个主要部件
- Docker: 开源的容器虚拟化平台
- Docker Hub: 用于分享、管理 Docker 容器的 Docker SaaS 平台(类似于GitHub)
1.4 虚拟机和Docker对比
虚拟机是一种模拟了操作系统全部或者部分硬件的软件,启动虚拟机其实非常占用我们的内存,而且虚拟机的镜像文件大小是GB级别,而Docker整个是MB级别。运行速度也是天差地别,虚拟机启动需要几分钟,而Docker只需要几秒钟就搞定。这里只是列举部分差别。
1.5 Docker内部架构
理解 Docker 内部构建要先了解docker的几个重要概念: