Docker基础概念

什么是虚拟机

虚拟机(virtual machine)就是带环境安装的一种解决方案,它可以在一种操作系统里面运行另一种操作系统。

虚拟机缺点

  • 资源占用多
  • 启动慢
  • 冗余步骤多

什么是容器

Linux容器 是 Linux 发展出的一种虚拟化的技术。Linux 容器不是模拟一个完整的操作系统,而是对进程进行隔离。

比较容器和 虚拟机的技术不同

  • 传统的虚拟机,虚拟出一套硬件,运行一个完整的操作系统。在这个系统上安装和运行软件
  • 容器内的应用直接运行在宿主机的内核中,容器没有自己的内核,也没有虚拟我们的硬件,所以就轻便了。每个容器间是隔离的,每个容器内都有属于自己的文件系统,互不影响。

Docker 为什么比 虚拟机 快

GuestOS: VM(虚拟机)里的的系统(OS);

HostOS:物理机里的系统(OS);

  • docker有着比虚拟机更少的抽象层。由于docker不需要Hypervisor实现硬件资源虚拟化,运行在docker容器上的程序直接使用的都是实际物理机的硬件资源。因此在CPU、内存利用率上docker将会在效率上有明显优势。
  • docker利用的是宿主机的内核,而不需要Guest OS。

因此,当新建一个 容器时,docker不需要和虚拟机一样重新加载一个操作系统内核。仍而避免引导、加载操作系统内核返个比较费时费资源的过程,当新建一个虚拟机时,虚拟机软件需要加载GuestOS,返个新建过程是分钟级别的。而docker由于直接利用宿主机的操作系统,则省略了这个复杂的过程,因此新建一个docker容器只需要几秒钟。

容器的优点

  • 文件系统隔离
  • 网络隔离
  • 进程号隔离
  • 进程间通信隔离

什么是Docker

  • Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。
  • 可以理解为:Docker 是linux 容器技术的一个管理引擎。

Docker 目标

  • 提供简单轻量的建模方式
  • 职责的逻辑分离(开发和运维的分离)
  • 快速高效的开发生命周期(减少额外调试和部署的开销)
  • 鼓励使用面向服务的架构(分布式)

Docker的使用场景

  1. 使用Docker容器开发、测试、部署服务
  2. 创建隔离的运行环境
  3. 搭建测试环境
  4. 构建多用户的平台即服务(Paas)基础设施
  5. 提供软件即服务(Saas)应用程序
  6. 高性能、超打规模的主机部署

Docker 应用的组成

Docker客户端(客户端命令)

  • 客户端是:C/S架构

守护进程(Docker主应用)

  • 守护进程处理Docker的命令,并返回客户端
  • 本地或者远程的Docker

Docker 资源概念

镜像(image)

Docker 镜像,就好比一个模板,可以通过模板创建容器服务。通过镜像可以创建多个容器。最终服务(项目)是在容器中运行。

  • Docker 容器的基石,基于镜像启动和运行
  • 层叠的只读文件系统
    • 最低端是 引导文件系统 和 Bootfs
    • rootfs
  • 联合加载

容器(Container)

Docker 利用容器技术,独立运行一个或者一组应用。通过镜像来创建的,容器可以启动、停止、删除。

  • 容器是docker的执行单元
  • 通过镜像启动
  • 写时候复制

镜像仓库

Docker镜像仓库用于保存镜像,分为私有和公有,仓库例如:Docker Hub、阿里云、网易云、华为云。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容