人人都爱Kubernetes,难道Docker就不香了吗?
一、开篇 提起Docker,有很多人第一印象会认为它就是一个虚拟化容器,所以大家特别容易陷入到一种误区,就是觉得Docker只是在Linux操作系统之上又增加了一层,就跟OS上跑了一个VMWare一样。Docker一定变得又慢又复杂。还不如原生安装的服务看起来舒服。 实际上这是误区,Docker管理的各种服务,都是操作系统原生的进程,并不是一个虚拟化产物,它的正确定义是应用容器引擎。 那怎么去理解这个应用容器引擎呢?就要说说Docker的核心原理了——其中主要机制之一,通过Linux的namespace机制实现了资源隔离,这个资源隔离就包括了: UTS,对主机名和域名的隔离 IPC,对信号量、消息队列和共享内存的隔离 PID,对进程编号的隔离 Network,对网络设备、网络协议栈、网络端口对隔离 Mount,对挂载点(文件系统)的隔离 User,对用户和用户组的隔离。 这些隔离机制都是Linux内核的namespace机制实现,也是Docker容器设计的精髓。 就好像原来是一个300平米的大房子,就住着一家人,卧室、厨房、卫生间这一家人独享。可是房子太大完全可以住三个家庭,不仅能公摊...
