Docker 入门教程之应用介绍

什么是 Docker

Docker 是一个开源的、基于 Linux 容器技术,用于创建和容器化应用的程序。

什么是容器

容器是与系统其他部分隔离开的一系列进程。Linux 容器技术最早出现于2000年,它通过 cgroups(控制组)和 namespace(命名空间)两种技术对系统进程进行隔离。容器是由镜像文件构成,内部具备应用运行的所需依赖和配置,具备良好的移植性。

容器的作用

不同的系统平台、开发环境和配置会为应用部署带来很大的不一致性,增加团队的部署、开发和调试成本。容器通过自身的可移植性和隔离性,既加快了应用部署速度,又解决了一致性问题,降低了系统出错的风险。

容器和虚拟化技术的对比

容器和虚拟化技术(虚拟机)非常相似,但实现原理不同。

  • 容器是虚拟化操作系统,实现容器和其它系统进程之间的隔离,但是共享系统内核
  • 容器更加轻量化,占用资源少,启动时间快
  • 因为容器共享系统内核,所有并没有做到硬件级别的隔离,会有一定的安全隐患
  • 虚拟化是虚拟硬件,拥有完整的操作系统,可以访问底层硬件
  • 虚拟化体量重,占用资源多,拥有完整的 Boot 引导程序,启动时间慢
  • 隔离级别最高,安全性较好
image.png
Docker 容器安全性

Docker 容器虽然有很多优势,但它的一些特点亦是产生安全隐患的地方。

  • 基础镜像文件需要保证安全性
  • 官方镜像仓库 Docker Hub 个人可以上传应用,所以并不能保证所有应用都是安全的
  • dockerfile 文件中的恶意执行命令
  • 容器隔离问题,系统内核共享机制导致隔离级别无法保证最高
Docker 发展概况

Docker 最早是做为 dotCloud 公司 PaaS 业务容器服务而存在的,该公司早期经营情况并不乐观,随后团队改变经营策略,在2013年将 Docker 在 github 开源后,获得越来越多开发人员的关注和青睐,名声大噪。经过数年的发展,Docker 已经成为容器化市场的主流选择,虽然现在有其它的竞品存在,例如,CRI-O、rkt 等,但短期内依然无法撼动 Docker 的市场地位。

你可能感兴趣的:(Docker 入门教程之应用介绍)