Docker入门教程.docxVIP

  • 11
  • 0
  • 约2.7千字
  • 约 7页
  • 2016-11-30 发布于重庆
  • 举报
Docker入门教程

/base/dockerDocker教程(一) Docker入门教程?1?Docker入门教程?1.1?集装箱是什么在了解Docker之前,我们先了解一下集装箱这个概念。集装箱,英文名/base/dockerContainer.集装箱的出现,大大降低了货物运输的成本,实现了货物运输的标准化,以此为基础逐步建立全球范围内的船舶、港口、航线、公路、中转站、桥梁、隧道、多式联运相配套的物流系统,世界经济形态因此而改变。集装箱最大的成功在于其产品的标准化以及由此建立的一整套运输体系。?1.2?Docker是什么Docker,直译是码头工人。这个码头工人搬运的是集装箱(Container)。Docker通过/base/linuxLinux?Container技术将任意类型的应用进行包装,变成一种标准化的,可移植的,自管理的组件。因为这种对应用的包装不仅包装了应用程序本身,更将应用的依赖和环境一并进行打包,所以她允许我们可以将这个包拿到任意环境去运行,提高效率的同时,不再有兼容性的问题。?如同集装箱代表了以集装箱为核心的现代航运体系一样,docker代表了以容器技术为核心的一套标准化体系。Docker是以容器技术为核心的包含构建、运行与交付的整套IT体系。?1.3?Docker项目的目标Docker项目的目标是实现轻量级的/base/operatingsystem操作系统虚拟化解决方案。?Docker?的基础是?Linux容器(LXC)等技术。在?LXC?的基础上Docker进行了进一步的封装,让用户不需要去关心容器的管理,使得操作更为简便。用户操作?Docker的容器就像操作一个快速轻量级的虚拟机一样简单。?1.4?Docker对比传统虚拟机优势?对比传统虚拟机表特性容器虚拟机启动秒级分钟级硬盘使用一般为MB一般为GB性能接近原生弱于系统支持量单机支持上千个容器一般几十个?1.5?Docker基本概念?1、Docker客户端/守护进程: Docker的客户端向服务器发送请求,Docker处理完请求返回结果。?2、Docker Image镜像:-?Docker镜像是一个叠的只读文件系统,最底端是bootfs引导文件系统。Docker容器启动后,它将会被移动到内存中,而引导文件系统则会被卸载。-?rootfs(Ubuntu):Root文件系统,Root文件系统可以是一种或者多种的操作系统,Root文件系统只能是只读状态。-?联合加载:联合加载是指一次加载多个文件系统,会将各层的文件加载叠加到一起,最终的文件系统,会包含所有文件系统及目录,Docker将这样的文件系统称为镜像。一个镜像可以放到另一个镜像的底部,下面的镜像称为父镜像,依次类推直到镜像的最底部,最底部的镜像称为基础镜像。-???3、Docker Container容器:-??Docker利用容器来运行应用,容器是从镜像创建的运行实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。可以把容器看做是一个简易版的?Linux环境(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序。-?Docker在运行中会在最顶层创建一个可写层,我们运行的程序会可写层进行。一开始启动容器时,可写层是空的,当文件系统发生变化时,这些变化都会应用到这一层上。如:当修改一个文件时,这个文件会从该层下面的只读层复制到该读写层,该文件的只读版本依然存在,但是已经被读写层的该文件幅本所隐藏,即:写时复制。-?每个只读镜像层都是只读的,并且以后永远不会变化,当创建一个新容器时,Docker会创建一个镜像栈(见下图),在栈的最顶层添加可写层,读写层加上下面的镜像层及配置数据,就组成了容器。?4、Docker Registry仓库:使用仓库保存所需要的镜像,仓库分两种:公有和私有。-?公有:最大的公开仓库是?DockerHub,存放了数量庞大的镜像供用户下载。国内的公开仓库包括?DockerPool等,可以提供大陆用户更稳定快速的访问。-?私有:用户架设私有仓库:当用户创建了自己的镜像之后就可以使用?push命令将它上传到公有或者私有仓库,这样下次在另外一台机器上使用这个镜像时候,只需要从仓库上?pull下来就可以了。-?*注:Docker仓库的概念跟?/base/gitGit类似,注册服务器可以理解为?GitHub这样的托管服务。-??1.6?Docker依赖Linux内核特性?1、Namespaces命名空间:命名空间提供了系统资源的隔离,如:进程、网络、文件系统…。实际Linux实现命名空间主要目的之一,就是为了实现轻量级虚拟化服务(容器)。在同一个命名空间下的进程可以感知彼此的变化,而对其它命令空间下的进程一无所知。-?PID(ProcessID):进程隔离。

文档评论(0)

1亿VIP精品文档

相关文档