1.容器是什么?

镜像运行起来之后,就是容器。也可以理解它就是一个服务,这个服务可以由多个服务组成,比如某个镜像提供的是一个启动服务的安装包,将其运行成容器后,它会拉起几个其他程序来提供一个完整的服务。

2.容器与镜像的关系

举个例子,把容器、镜像、Linux内核比作一个餐厅服务来说,那么它们对应的关系如下:

概念

比喻

镜像

集装箱,箱子里装了桌子、椅子、餐盘

Linux内核

厨房,中西餐都会做

容器

拆开集装箱,把桌子、椅子、餐盘摆放好,随时坐人随时就餐

这个餐厅有3大特点:

1.根据实际客人流量来订购集装箱,来一桌客人,就订一个集装箱,然后拆开摆好餐桌给客人坐;

2.根据实际客人需求在餐桌上加上筷子来提供中餐服务,加上刀叉来提供西餐服务;

3.餐厅推出特色服务:在餐桌上加上音箱,起名叫音乐餐桌。然后餐厅可以将桌子、椅子、餐盘、音箱再重新封装成集装箱,然后送回给厂商,自此,别的餐厅就可以从厂商那里直接订购这种音乐餐桌的集装箱。

除此之外,对于容器来说,每个餐桌的下单、取餐都是跟直接跟厨房交互的,而对于虚拟机来说,每个餐桌的下单、取餐则必须通过服务员与厨房交互。这也就是容器和虚拟机的区别,多个容器使用同一个内核,直接与内核交互,而虚拟机则需要额外一层服务才能与内核交互。因此相比较之下,容器更轻量、方便,而虚拟机更独立、安全。