docker原理

1.docker基本原理

1.1 什么是docker?

  • 1.Docker是使用最广泛的 开源容器引擎
    * 容器:
    1.1)容器是一个操作系统级别下的虚拟化技术,运行一个容器就行运行一个进程一样
    2.2)容器依赖linux内核特性:Namespace(资源隔离)和Cgroups(资源限制)
  • 2.一种操作系统基本的 虚拟化技术
    * 我们使用的VMware虚拟机就是虚拟化技术
    * 一个操作系统下,虚拟出来,其他操作系统的机器
  • 3.一种简单的应用 程序打包工具
  • 4.依赖Linux内核特性: Namespace(资源隔离) 和 Cgroup(资源限制)
    docker run -itd -p 91:80 nginx

1.2 资源隔离和资源限制

资源隔离:

  1) Linux Namespaces 机制提供一种资源隔离方案,每个namespace看上去就像一个单独的
  Linux系统。
  2) PID ,IPC(进程通信), Network 等系统资源不再是全局性的,而是属于某个特定的每个namespace看上去就像一个单独的Linux系统
  3)每个namespace下的 资源对于其他namespace 下的资源都是透明, 不可见的 。 
  4)系统中可以同时存在 两个进程号为0,1,2的进程 ,由于 属于不同的namespace ,所以它们之间并不冲突。
  5)而在用户层面上只能看到属于用户自己namespace下的资源,例如使用ps命令只能列出自己namespace下的进程。
  6)这样 每个namespace看上去就像一个单独的Linux系统 。

资源限制:

  1)为了让容器中的进程更加可控, Docker 使用 Linux cgroups 来限制容器中的进程允许使 用的系统资源 。 
  2)可以在启动容器是指定每个容器可以使用的 网络、磁盘、CPU以及内存 等
posted @ 2020-11-11 23:16  小王小王ii  阅读(114)  评论(0编辑  收藏  举报