Docker知识点总结

    一、Docker 是什么?

       1. Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架包括系统。

       2. Docker 是基于Go语言实现的云开源项目,诞生于2013年初,最初是dotCloud公司发起。由镜像(Image)、容器(Container)、仓库(Repository) 三大核心组成。

       3. Docker 通过对应用组件的封装、分发、部署、运行等生命周期的管理,达到应用组件级别的“一次封装,到处运行”。这里应用组件,即可以是Web应用,也可以是一套数据库服务,甚至是一个操作系统或编译器。

 

    二、为什么要使用 Docker?

       1. Docker 是一个用于开发,交付和运行应用程序的开放平台。Docker 使您能够将应用程序与基础架构分开,从而可以快速交付软件。借助 Docker,您可以与管理应用程序相同的方式来管理基础架构。通过利用 Docker 的方法来快速交付,测试和部署代码,您可以大大减少编写代码和在生产环境中运行代码之间的延迟。

       2. 更快速的交付和部署(使用docker,开发人员可以用镜像来快速构建一套标准的开发环境;开发完成之后,测试和运维人员可以直接使用相同环境来部署代码)。

       3. 响应式部署和扩展(docker容器几乎可以在任意平台上运行,包括物理机、虚拟机、公有云、私有云、个人电脑、服务器等。可以在不同的平台轻松地迁移应用)。

       4. 更简单的更新管理(使用Dockerfile,只需要修改小小的配置,就可以替代以往大量的更新工作)。

           1. 与传统的虚拟机对比

               

Docker知识点总结

 

           2. 传统开发流程

               

Docker知识点总结

 

           3. Docker开发流程

                

Docker知识点总结

 

    三、Docker 架构

       1. Docker 核心三要素

           1. 镜像(Image):用于创建 Docker 容器的模板,相当于一个 root 文件系统镜像内部是一个精简的操作系统和应用运行所需要的文件以及所有依赖(镜像不包含内核,容器都是共享所在Docker主机的内核),比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。

           2. 容器(Container):容器是镜像的运行时实例,可以从单个镜像启动一个或多个容器。

           3. 仓库(Repository):用于存放镜像,可以理解为代码控制中的代码仓库。一个 Docker Registry 中可以包含多个仓库(Repository);每个仓库可以包含多个标签(Tag);每个标签对应一个镜像。

              

Docker知识点总结

 

       2. 核心架构

           1. Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。

           2. Docker 容器通过 Docker 镜像来创建。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpdggd.html