已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Docker教程(一) Docker入门教程1Docker入门教程1.1集装箱是什么在了解Docker之前,我们先了解一下集装箱这个概念。集装箱,英文名Container.集装箱的出现,大大降低了货物运输的成本,实现了货物运输的标准化,以此为基础逐步建立全球范围内的船舶、港口、航线、公路、中转站、桥梁、隧道、多式联运相配套的物流系统,世界经济形态因此而改变。集装箱最大的成功在于其产品的标准化以及由此建立的一整套运输体系。1.2Docker是什么Docker,直译是码头工人。这个码头工人搬运的是集装箱(Container)。Docker通过LinuxContainer技术将任意类型的应用进行包装,变成一种标准化的,可移植的,自管理的组件。因为这种对应用的包装不仅包装了应用程序本身,更将应用的依赖和环境一并进行打包,所以她允许我们可以将这个包拿到任意环境去运行,提高效率的同时,不再有兼容性的问题。如同集装箱代表了以集装箱为核心的现代航运体系一样,docker代表了以容器技术为核心的一套标准化体系。Docker是以容器技术为核心的包含构建、运行与交付的整套IT体系。1.3Docker项目的目标Docker项目的目标是实现轻量级的操作系统虚拟化解决方案。Docker的基础是Linux容器(LXC)等技术。在LXC的基础上Docker进行了进一步的封装,让用户不需要去关心容器的管理,使得操作更为简便。用户操作Docker的容器就像操作一个快速轻量级的虚拟机一样简单。1.4Docker对比传统虚拟机优势对比传统虚拟机表特性容器虚拟机启动秒级分钟级硬盘使用一般为MB一般为GB性能接近原生弱于系统支持量单机支持上千个容器一般几十个1.5Docker基本概念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仓库的概念跟Git类似,注册服务器可以理解为GitHub这样的托管服务。-1.6Docker依赖Linux内核特性1、Namespaces命名空间:命名空间提供了系统资源的隔离,如:进程、网络、文件系统。实际Linux实现命名空间主要目的之一,就是为了实现轻量级虚拟化服务(容器)。在同一个命名空间下的进程可以感知彼此的变化,而对其它命令空间下的进程一无所知。-PID(ProcessID):进程隔离。-NET(Network):管理网络接口。-IPC(InterProcessCommunication)管理跨进程通信的访问。-MNT(Mount):管理挂载点。-UTS(UnixTimesharing System)隔离内核和版本标识。2、Controlgroups(cgroups)控制组:是一种可以限制、记录、隔离使用线程资源的机制,最初是由google工程师提出,并且在2007年更新Linux kernel 2.6.24版本。-资原限制:如外面的子系统可以为进程组,设置一个内存使用的上限,一旦使用的内存超过了上限,再申内存就会发生OutMemoryError。-优先级设定:可以设定哪些进程可以使用更大的CPU、磁盘IO的资源。-资源计量:可以计算哪些进程组使用了多少系统资源。-资源控制:可以将进组进行挂起和恢复。3、Docker容器的能力:-文件系统隔离:每个容器都有自己的root文件系统。-进程隔离:每个容器都运行在自己的进程环境中。-网络隔离:容器间的虚拟网络接口和IP地址都是分开。-资源隔离和分组:使用cgroups将CPU和内存之类的资源独立分配给每个Docker容器。1.7学习Docker推荐书籍:1.Docker从入门到精通2.Doc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 妊娠期糖尿病对母婴的影响
- 急诊科护理工作流程解析
- 护理工作中的沟通技巧
- 服装裁剪工岗前安全生产规范考核试卷含答案
- 合成碳膜电位器制造工安全实操水平考核试卷含答案
- 钽碳还原火法冶炼工岗前QC管理考核试卷含答案
- 生漆加工工操作水平评优考核试卷含答案
- 锅炉大件热处理工班组安全考核试卷含答案
- 通信网络电缆线务员安全实践模拟考核试卷含答案
- 丙烷脱氢装置操作工操作测试考核试卷含答案
- GB/T 20118-2025钢丝绳通用技术条件
- 信贷业务担保知识培训课件
- 艾滋病卡波西肉瘤课件
- 防护目镜使用课件
- 初中英语整体单元教学研究报告
- 3.1 世界是普遍联系的 课件 高中政治统编版必修4 哲学与文化
- 人教版高中高二《美术》选择性必修一-为眼睛做导游(建构画面)-教学设计
- 监狱智能管理系统
- 人造板行业政策与安全生产考核试卷
- ICD-9-CM-3手术编码6.0标准版-临床版新版字典库
- 桥梁伸缩缝破损更换工程全流程解析
评论
0/150
提交评论