docker 是什么

docker 是什么

dockerdocker hub的工作流,很大程度上参考了git和github的设计理念,因此可先熟悉下git的架构图,更容易理解docker
null


1、Docker的架构图

null

Docker 的核心组件包括:

null

2、组件概念

Docker 采用的是 Client/Server 架构。
Docker Client ,也称 Docker 客户端。它其实就是 Docker 提供命令行界面(CLI)工具,是许多 Docker 用户与 Docker 进行交互的主要方式。
客户端向服务器发送请求(如:创建、停止、销毁容器等操作),服务器负责构建、运行和分发容器。客户端和服务器可以运行在同一个 Host 上,客户端也可以通过 socket 或 REST API 与远程的服务器通信。

2.1 镜像(Image)

用俗话说就是安装文件,可以理解为一个只读的模板,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等),镜像是创建容器的基础。

镜像资源分类:
2.2 容器(Container)

Docker 镜像的运行实例,可以启动、开始、停止、删除容器。例如对于应用软件,镜像是软件的构建和打包阶段,而容器则是启动和运行阶段。容器之间是相互隔离的、互不可见的。

每个容器都有一个软件镜像,相当于集装箱中的货物。容器可以被创建、启动、关闭和销毁。和集装箱一样,Docker 在执行这些操作时,并不关心容器里到底装的什么,它不管里面是 Web Server,还是 Database。
用户不需要关心容器最终会在哪里运行,因为哪里都可以运行。

2.2 仓库(Repository)

仓库是集中存放镜像文件的场所,分为公有仓库和私有仓库。
仓库的概念类似于Git,仓库注册服务器可以理解为 GitHub 这样的远程仓库托管服务,就是集中存放多个仓库的地方。


现在总结下,容器是什么

我们可以把容器理解为精装修的房子,设备设施一应俱全,只需领包入住。后面会用房子来讲解容器的数据管理、网络管理。

3、Docker的特点

有了容器,如果想用负载均衡软件,只需要执行docker run haproxy,再也不用繁琐的手工安装和配置,运行起来,用就是了。

4、docker的版本

docker分为社区版CE和企业版EE。

CE 社区版,免费支持周期 7 个月;社区版按照stable和edge两种方式发布,每个季度更新stable版本,如17.06,17.09;每个月份更新edge版本,如17.09,17.10。