Docker是一个开源的应用容器引擎,采用Go语言开发,遵循Apache2.0开源协议。
Docker可以让开发者打包他们的应用以及依赖包到一个轻量级的、可移植的容器中,然后发布到任何的linux机器上。
Docker容器完全使用沙箱机制,应用之间不会有任何接口,容器性能开销极低。
Docker的三个基本概念:
1、镜像:用于创建容器的模板,有点像类的概念
2、容器:是镜像运行的实体,可以在其中运行一个或者一组应用,有点像类实例化的概念
3、仓库:仓库可看成一个代码控制中心,用来保存镜像
Docker架构
Docker使用客户端-服务器架构模式,使用远程API管理和创建Docker容器。
Docker客户端:Docker 客户端通过命令行或者其他工具使用 Docker SDK (Redirecting…) 与 Docker 的守护进程通信。
Docker主机:运行了Docker容器的物理机或虚拟机
Docker Registry:可以包含多个仓库,每个仓库包含多个标签,每个标签对应一个镜像
Docker Machine:简化Docker安装的命令行工具