![Docker技术专题讲座_第1页](http://file4.renrendoc.com/view11/M03/14/03/wKhkGWXuhqGAcW0FAACb0PJJTYY322.jpg)
![Docker技术专题讲座_第2页](http://file4.renrendoc.com/view11/M03/14/03/wKhkGWXuhqGAcW0FAACb0PJJTYY3222.jpg)
![Docker技术专题讲座_第3页](http://file4.renrendoc.com/view11/M03/14/03/wKhkGWXuhqGAcW0FAACb0PJJTYY3223.jpg)
![Docker技术专题讲座_第4页](http://file4.renrendoc.com/view11/M03/14/03/wKhkGWXuhqGAcW0FAACb0PJJTYY3224.jpg)
![Docker技术专题讲座_第5页](http://file4.renrendoc.com/view11/M03/14/03/wKhkGWXuhqGAcW0FAACb0PJJTYY3225.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Docker技术专题讲座技术原理环境搭建应用实例简介Docker的英文本意是“搬运工”,在程序员的世界里,Docker搬运的是集装箱〔Container〕,集装箱里装的是任意类型的App,开发者通过Docker可以将App变成一种标准化的、可移植的、自管理的组件,可以在任何主流系统中开发、调试和运行。最重要的是,它不依赖于任何语言、框架或系统。目标是实现轻量级的操作系统虚拟化解决方案根底:Linux容器〔LXC〕Go语言实现Apache2.0协议GitHub上进行维护比照传统虚拟机比照虚拟机特性虚拟机容器启动分钟级秒级资源消耗很大,单机一般几十个VM,硬盘使用一般为GB很小,单机支持上千个容器,硬盘使用一般为MB性能通过对硬件层的模拟,增加了系统调用链路的环节,有性能损耗共享Kernel,接近原生,几乎没有性能损耗操作系统覆盖支持Linux、Windows、Mac等仅仅Kernel所支持的OSDocker应用场景web应用的自动化打包和发布自动化测试和持续集成、发布在效劳型环境中部署和调整数据库或其他的后台应用从头编译或者扩展现有的OpenShift或CloudFoundry平台来搭建自己的PaaS环境。Docker带来的好处安装安装Docker所需条件:需要64位架构的系统和Linux3.10内核或更高版本。Docker有很多种安装的选择,推荐在Ubuntu下面安装,因为docker是在Ubuntu下面开发的,安装包测试比较充分,可以保证软件包的可用性。添加Docker的官方apt软件源
/etc/apt/sources.list.d/docker.list
debs:///repoubuntu-trustymain
添加成功后,更新apt软件包缓存
$sudoapt-getupdate安装Docker
$sudoapt-getinstall-ydocker-engine
Docker的HelloWorld启动docker后台Daemon:$sudosystemctlstartdocker跑我们第一个HelloWorld容器:$sudodockerrun-i-tfedora/bin/echohelloworldhelloworld可以看到在运行命令行后的下一行会打印出经典的HelloWorld字符串。3个内部组件DockerImagesDockerimage
是Dockercontainer最根本的模板。image通过容器使系统和应用易于安装,Dockerimage是用来运行的容器,你可以在这里
找到许多images〔多种操作系统和软件已经被安装好了的Docker〕。DockerContainerDocker容器〔DockerContainer〕是一个Image,在运行的
Dockerimage上读取和写入。Docker是一个联合的文件系统作为容器后台,容器的任何变化,都将被保存在一个根本
image新的层上。我们安装应用程序的层就是容器。每个在主机上运行的容器都是独立的,因此,提供了一个平安的应用平台。DockerRegistryDockerregistry
是为
Dockerimages提供的库。它提供了公共和私有库。公共Docker库被叫做DockerHub。这里我们能够上传push和pull我们自己的images。Docker架构图Docker总架构图Docker运行案例分析--dockerpullDocker运行案例分析--dockerrunDocker镜像每个镜像都由很多层次构成,Docker使用UnionFS将这些不同的层结合到一个镜像中去。
使用dockerpull命令来从仓库获取所需要的镜像
$sudodockerpullubuntu:12.04使用dockerimages显示本地已有的镜像
创立镜像从DockerHub获取已有镜像并更新,最后使用
dockercommit命令来提交更新后的副本。利用Dockerfile来创立镜像Dockerfile中每一条指令都创立镜像的一层,例如:
编写完成Dockerfile后可以使用dockerbuild来生成镜像#Thisisacomment
FROMubuntu:14.04
MAINTAINERDockerNewbee<newbee@>
RUNapt-get-qqupdate
RUNapt-get-qqyinstallrubyruby-dev
RUNgeminstallsinatra镜像导出、导入、移除如果要导出镜像到本地文件,可以使用dockersave命令。$sudodockersave-oubuntu_14.04.tarubuntu:14.04可以使用dockerload从导出的本地文件中再导入到本地镜像库,例如:$sudodockerload--input如果要移除本地的镜像,可以使用dockerrmi命令。使用下面的命令可以清理所有未打过标签的本地镜像
$sudodockerrmi$(dockerimages-q-f"dangling=true")
Docker容器启动容器有两种方式,一种是基于镜像新建一个容器并启动,另外一个是将在终止状态〔stopped〕的容器重新启动。新建并启动
$sudodockerrunubuntu:14.04/bin/echo'Helloworld'
Helloworld启动已终止容器
dockerstart添加-d参数来实现后台运行,不直接把执行命令的结果输出在当前宿主机下。使用dockerstop来终止一个运行中的容器使用dockerattach命令进入容器进行操作
如果要导出本地某个容器,可以使用dockerexport命令。$sudodockerexport7691a814370e>ubuntu.tar可以使用dockerimport沉着器快照文件中再导入为镜像
$catubuntu.tar|sudodockerimport-test/ubuntu:v1.0使用dockerrm来删除一个处于终止状态的容器。用dockerrm$(dockerps-a-q)清理所有处于终止状态的容器
仓库目前Docker官方维护了一个公共仓库DockerHub,其中已经包括了超过15,000的镜像。dockersearch命令来查找官方仓库中的镜像dockerpull命令来将它下载到本地有时候使用DockerHub这样的公共仓库可能不方便,用户可以创立一个本地仓库供私人使用。registry是官方提供的工具,可以用于构建私有的镜像仓库Docker数据管理使用数据卷和数据卷容器在Docker内部以及容器之间管理数据。挂载一个主机目录作为数据卷
$sudodockerrun-d-P--nameweb-v/src/webapp:/opt/webapptraining/webapppythonapp.py
Docker中的网络功能介绍Docker允许通过外部访问容器或容器互联的方式来提供网络效劳。外部访问容器
通过-P或-p参数来指定端口映射
$sudodockerrun-d-p5000:5000training/webapppythonapp.py容器互联
使用--link参数可以让容器之间平安的进行交互
$sudodockerrun-d-P--nameweb--linkdb:dbtraining/webapppythonapp.py
Docker网络多台物理主机之间的容器互联〔暴露容器到真实网络中〕一张图总结Docker的命令底层实现Docker底层的核心技术包括Linux上的名字空间〔Namespaces〕、控制组〔Controlgroups〕、Union文件系统〔Unionfilesystems〕和容器格式〔Containerformat〕。大家虽然都共用一个内核和某些运行时环境〔例如一些系统命令和系统库〕,但是彼此却看不到,都以为系统中只有自己的存在。这种机制就是容器〔Container〕,利用名字空间来做权限的隔离控制,利用cgroups来做资源分配。AUFS(AnotherUnionFS)AUFS是一种UnionFS,简单来说就是支持将不同目录挂载到同一个虚拟文件系统下的文件系统,更进一步的理解,AUFS支持为每一个成员目录(类似GitBranch)设定readonly、readwrite和whiteout-able权限,同时AUFS里有一个类似分层的概念,对readonly权限的branch可以逻辑上进行修改(增量地,不影响readonly局部的)。典型的启动Linux运行需要两个FS:bootfs+rootfs:Docker的开源之路--用户社区维护、源代码管理、创立合作伙伴生态圈应用案例--在测试中使用Docker使用Docker测试静态网站Sample网站的初始Dockerfile构建Sample网站和tomcat镜像从Sample网站和tomcat镜像构建容器修改网站应用案例--中小企业使用Docker标准化
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 设备维护助理工作总结
- XXX电子科技有限公司员工安全手册(安全操作规程)
- 2025-2030全球汽车主动夜视系统行业调研及趋势分析报告
- 2025年全球及中国台式振动台行业头部企业市场占有率及排名调研报告
- 2025-2030全球监视雷达系统行业调研及趋势分析报告
- 2025-2030全球碳纳米粉行业调研及趋势分析报告
- 2025年全球及中国三重四级杆液质联用仪行业头部企业市场占有率及排名调研报告
- 2025-2030全球DRM数字版权保护技术行业调研及趋势分析报告
- 2025年全球及中国细胞活力检测试剂盒行业头部企业市场占有率及排名调研报告
- 2025-2030全球可重复使用垫料气囊行业调研及趋势分析报告
- 走新型城镇化道路-实现湘潭城乡一体化发展
- 江苏中国中煤能源集团有限公司江苏分公司2025届高校毕业生第二次招聘6人笔试历年参考题库附带答案详解
- 【语文】第23课《“蛟龙”探海》课件 2024-2025学年统编版语文七年级下册
- 2024版冷水机组安装合同
- 北师版七年级数学下册第二章测试题及答案
- GB/T 21369-2024火力发电企业能源计量器具配备和管理要求
- 2025年全体员工安全意识及安全知识培训
- 2025警察公安派出所年终总结工作汇报
- 机动车检测站新换版20241124质量管理手册
- 2022年河北邯郸世纪建设投资集团有限公司招聘笔试试题及答案解析
- 万物有灵且美(读书心得)课件
评论
0/150
提交评论