Docker是一个开源的应用容器引擎, 基于Go语言并遵从Apache 2.0协议开源
Docker可以让开发者打包他们的应用以及依赖包到一个轻量级, 可移植的容器中, 然后发布到任何流行的Linux机器上, 也可以实现虚拟化
容器时完全使用沙箱机制, 相互之间不会有任何接口, 更重要的是容器性能开销极低
Docker引擎是一个包含以下主要组件的客户端服务器应用程序
Docker引擎组件的流程如下图所示:
Docker使用客户端/服务器(C/S)架构模式, 使用远程API来管理和创建Docker容器
Docker容器通过Docker镜像来创建
容器与镜像的关系类似于面向对象编程中对象与类。
标题 |
说明 |
镜像(Images) |
Docker镜像是用于创建Docker容器的模板 |
容器 |
容器时独立运行的一个或一组应用 |
客户端 |
Docker客户端通过命令行或者其他工具使用Docker API |
主机 |
一个物理或者虚拟的机器用于执行Docker守护进程和容器 |
仓库 |
Docker仓库用来保存镜像, 可以理解为代码控制中的代码仓库 |
Docker Machine |
Docker Machine是一个Docker安装的命令行工具, 通过一个简单的命令即可以在相应的平台上安装Docker. |