Docker 是干什么的?

更新时间 2022-09-13 23:20:14

Docker 是一个开源的应用容器引擎,可以提供轻量级的虚拟化服务。 它基于 GO 语言开发,可以让开发者在构建应用时,将应用与其依赖的环境一起打包到一个可移植的容器中, 然后很方便地发布到任意 Linux / Windows 系统中。相较于传统虚拟机,Docker 容器提供轻量化的虚拟化方式、安装便捷、启停速度快。

Docker 是什么?Docker 是什么?

通俗来说,Docker 就是一个应用集装箱化平台,就像码头运输集装箱一样,无需关心集装箱里面的货物。每个集装箱代表一个容器,容器充当着软件部署的标准单元,其中包含需要运行的应用源码以及依赖项。

针对容器化部署的软件,开发者只需进行极少的修改或者不修改,即可将其部署到不同的环境中,如果出现的故障,也可以通过镜像,快速恢复服务。

Docker 的历史

2010 年,下图这位名叫 Solomon Hykes 的帅气小伙在美国成立了 dotCloud 公司,从此开启了容器化时代。

Docker 公司创始人Docker 公司创始人

后来,dotCloud 将自己公司多年积累的容器化技术进行了标准化,取名为 Docker, 也就是大家熟悉的鲸鱼 logo。

Docker 的 Logo Docker 的 Logo

Docker 于 2013 年 3 月以 Apache 2.0 协议开源,并将源码放在了 GitHub 上进行维护。自从开源后,越来越多的工程师发现了它的优点,人气迅速攀升,成为当时最火爆的开源技术之一。

在 2013 年底,由于 Docker 太火了,dotCloud 公司干脆决定将公司名改为 Docker Inc。

Docker 架构

Docker 架构Docker 架构

runc 是一个 Linux 命令行工具,用于根据 OCI容器运行时规范 (opens new window) 创建和运行容器。

containerd 是一个守护程序,它管理容器生命周期,提供了在一个节点上执行容器和管理镜像的最小功能集。