后台架构引论(三)Docker

一、何为容器,何为 Docker
  1. 虚拟机:在一种操作系统里运行另一种操作系统,是操作系统级别的。
    缺点:(1)资源占用多,需要几百 MB 的内存才能运行。(2)步骤冗余,是完整的操作系统,一些系统级别的操作无法跳过,如用户登录。(3)启动慢

  2. 容器:不是模拟一个完整的操作系统,是一种进程隔离的技术,应用可以运行在每个相互隔离的容器中。是进程级别的。
    优点:(1)资源占用少,另外,多个容器可以共享资源,虚拟机则独享资源。(2)体积小,只要包含用到的组件即可,而虚拟机是整个操作系统的打包。(3)启动快,相当于启动本机的一个进程。

  3. Docker:一个开源的应用容器引擎,基于Go。目前最流行的 Linux 容器解决方案。

二、Docker 基本概念

镜像(Image)、容器(Container)、仓库(Repository)
镜像是 Docker 运行容器的前提,仓库是存放镜像的场所

  1. image 文件
    • Docker 把应用程序及其依赖,打包在 image 文件里面(二进制)。只有通过这个文件,才能生成 Docker 容器。image 文件可以看作是容器的模板。
    • Docker 根据 image 文件生成容器的实例。同一个 image 文件,可以生成多个同时运行的容器实例。
  2. 容器文件
    • image 文件生成的容器实例,本身也是一个文件,称为容器文件。也就是说,一旦容器生成,就会同时存在两个文件: image 文件和容器文件。
    • 关闭容器并不会删除容器文件,只是容器停止运行而已。
  3. 仓库
    • 为了方便共享,image 文件制作完成后,可以上传到网上的仓库。Docker 的官方仓库 Docker Hub 是最重要、最常用的 image 仓库。
    • 国内连接 Docker 的官方仓库很慢,将默认仓库改成国内的镜像网站。
三、k8s 与 Mesos
  1. Mesos 和 Kubernetes 都是优秀的开源框架。基于容器的集群管理平台,它的全称,是kubernetes,8 是中间 8 个字母
  2. 一个K8S系统,通常称为一个K8S集群(Cluster),这个集群主要包括两个部分:一个Master节点(主节点)、一群Node节点(计算节点)
四、单体式架构(Monolithic)> 微服务架构(Microservices)
两者对比
  1. 对于移动通信,核心网本质是服务器,不同的核心网网元,就是不同的服务器,不同的计算节点。
  2. 前几年大家认为,虚拟机是核心网的终极形态。目前看来,更有可能是容器化。

参考链接:

  • 文档:https://docs.docker.com/get-started/
  • https://yeasy.gitbooks.io/docker_practice/
  • 阮一峰(安装与常用命令):http://www.ruanyifeng.com/blog/2018/02/docker-tutorial.html
  • 易于理解:https://zhuanlan.zhihu.com/p/53260098

你可能感兴趣的:(后台架构引论(三)Docker)