【全干货】5分钟带你看懂 Docker!
Docker 是啥?
打开翻译君输入 Docker 结果显示码头工人,没错!码头工人搬运的是集装箱,那么今天要讲的 Docker 其操作的也是集装箱,这个集装箱就静态而言就是一个应用镜像文件,就动态而言,就是一个容器。蒙了吧?好吧,上图解释。
Docker 从狭义上来讲就是一个进程,从广义上来讲是一个虚拟容器,其实更专业的叫法是应用容器( Application Container ),Docker 进程和普通的进程没有任何区别,它就是一个普通的应用进程。不过是用来操作镜像文件的。所以 Docker 进程+构建的应用镜像文件就等于 Docker 容器。本文所有讲的 Docker 都是指 Docker 容器哦。
再继续下文之前我们首先要明确几个 docker 重要的基本概念吧,镜像,容器,仓库。
镜像 Docker images,就类似于 VM 虚拟机里面的快照,但是可比快照轻量化多了。快照不懂?那可以把 images 直接理解成一个文件夹。我们可以通过 ID 或者易识别的名字 +tag 来确认唯一的目标镜像。ImagesID 是一个64位的字符,但是一般我们都是使用前面12位就足够区别了。
如图中左边红框中 redis: lates 和右边的红框中 5f515359c7f8 都唯一表示为同一个镜像。所以我们一般的镜像可以命名为类似centos: latest、centos: centos7.1.1503等等。
镜像是分层的,有基础镜像,仅仅包含操作系统,比如 centos 镜像;有中间件镜像,比如 redis 等数据库镜像;最后是应用镜像,就是指具体的应用服务了,应用镜像可以非常丰富,随时可以发布,这三者之间依次叠加。