【入门级】码头工人基础知识学习与使用(二)


码头工人是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

我们一开始选择相对基础的码头工人,而不是一上来就美丽,主要是为了能够尽量学习到基础的相关知识,然后再学k8就会比较得心应手。

码头工人分成两个版本,分别是CE和EE:

Community Edition (CE)简称社区版

Enterprise Edition (EE)检查企业版

不用多说,我们肯定用社区版,接下来的后续文章我们都是采用CE版本。


码头工人引擎是一个场景的CS架构,外层是CLI,中间是API层,最里面是核心组件,如下图所示:

【入门级】码头工人基础知识学习与使用(二)

码头工人的架构和实际使用可以参考下图:

【入门级】码头工人基础知识学习与使用(二)

码头工人的几个重要概念:

1。注册表
码头工人仓库用来保存镜像,可以理解为代码控制中的代码仓库。
码头工人中心(https://hub.docker.com)提供了庞大的镜像集合供使用。

2。图片
码头工人镜像是用于创建码头工人容器的模板。

3。容器
容器是独立运行的一个或一组应用。

4。主机
一个物理或者虚拟的机器用于执行码头工人守护进程和容器。

5。守护进程
码头工人的后台服务进程dockerd。

6。客户
码头工人客户端通过命令行或者其他工具使用码头工人API与码头工人的守护进程通信。


我们以Ubuntu 18.04为例子,安装码头工人是比较简单的命令如下:

【入门级】码头工人基础知识学习与使用(二)

我们暂时还不打算讲解如何做镜像,先以用为主,用熟了再学如何制作自己的镜像。容器的思想很简单,就是构建?一次,运行?任何地方,从上面的架构图可以看的到,最简单核心的流程就是build> pull>运行,构建就是制作镜像,就拉是从镜像中心获取指定镜像,最后一步就跑是把镜像跑起来。

由于构建制作镜像稍微有点复杂,我们就先跳过,直接从拉和运行开始,直接使用https://hub.docker.com/上面别人做好的。

【入门级】码头工人基础知识学习与使用(二)

从字面上讲,只跑是跑起一个镜像实例,实际上内部可以分为两个步骤,第一步是把镜像装入容器并创建实例(我们可以称之为创建),第二步就是把装入了镜像的容器实例跑起来(我们可以称之为开始)。

我们先做一个试验,我们执行两次码头工人运行hello world

【入门级】码头工人基础知识学习与使用(二)

这样的输出结果,我们可以得知,原来每运行一次,都会重新创建一个新的容器实例,如果我们要把容器实例停止或者开启,应该是用停止和启动,删除实例我们可以用rm,具体看下面的演示:

【入门级】码头工人基础知识学习与使用(二)

可以看到容器实例目前就只剩下一个了,我们可以再对剩下的容器进行停止和开始测试。了解这个跑步机制非常关键,这也是笔者一开始接触和学习的时候所踩过的坑,一直觉得运行就是运行的意思,多次运行都是运行同一个实例,因此先把运行的机制搞懂是很基础和很关键的。今天就先到这,下期我们继续深入学习码头工人的使用。


【入门级】码头工人基础知识学习与使用(二)