Docker学习笔记 ->环境与背景篇->2、docker简介

2、docker简介

​ 容器的核心技术是Cgroups与namespace,在此基础上还有一些其他的工具共同组成容器。容器本质上是苏宿主机上的进程,通过namespace技术进行资源上的隔离,通过Cgroups进行资源控制,通过rootfs实现文件系统的隔离,还有独立的网络协议栈,再加上容器引擎本身的特性来管理容器的生命周期。

2.1 什么是docker

​ Docker是一个开源的应用容器引擎,开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到主流的操作系统上(Linux、macos、windows),实现虚拟化。

​ 容器就是一个集装箱,我们的代码和依赖都打包在这个集装箱中,Docker就是货轮可以实现容器的安装、卸载、运行,并能将你的程序可以搬运到世界各个地方,这个很形象的描述了Docker、container、images的关系。

2.2 Docker的现状

Docker学习笔记 ->环境与背景篇->2、docker简介

​ 图中描述了docker的发展现状,目前最新的统计报告可以看出docker使用用排在第一位。

2.3 docker的优点和缺点

2.3.1 优点
  • 轻量级的虚拟化
  • 快速启动,可以在秒级启动
  • 更高的资源利用率
  • 可以使用容器使得服务的颗粒度变得更细

总结起来docker带来了更高的服务部署、启动方式、简化配置、在容器中开发完成之后可以快速部署到各种主流的操作系统上。

2.3.2 缺点

docker虽然具有众多优点,但是也有一些具有诟病的例如网络和安全性问题。