




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Docker技术专题讲座,技术原理环境搭建应用实例,简介,Docker的英文本意是“搬运工”,在程序员的世界里,Docker搬运的是集装箱(Container),集装箱里装的是任意类型的App,开发者通过Docker可以将App变成一种标准化的、可移植的、自管理的组件,可以在任何主流系统中开发、调试和运行。最重要的是,它不依赖于任何语言、框架或系统。目标是实现轻量级的操作系统虚拟化解决方案基础:Linux容器(LXC)Go语言实现Apache2.0协议GitHub上进行维护,对比传统虚拟机,对比虚拟机,Docker应用场景,web应用的自动化打包和发布自动化测试和持续集成、发布在服务型环境中部署和调整数据库或其他的后台应用从头编译或者扩展现有的OpenShift或CloudFoundry平台来搭建自己的PaaS环境。,Docker带来的好处,安装,安装Docker所需条件:需要64位架构的系统和Linux3.10内核或更高版本。Docker有很多种安装的选择,推荐在Ubuntu下面安装,因为docker是在Ubuntu下面开发的,安装包测试比较充分,可以保证软件包的可用性。添加Docker的官方apt软件源/etc/apt/sources.list.d/docker.listdeb/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是用来运行的容器,你可以在这里Dockerimage上读取和写入。Docker是一个联合的文件系统作为容器后台,容器的任何变化,都将被保存在一个基本image新的层上。我们安装应用程序的层就是容器。每个在主机上运行的容器都是独立的,因此,提供了一个安全的应用平台。DockerRegistryDockerregistry是为Dockerimages提供的库。它提供了公共和私有库。公共Docker库被叫做DockerHub。这里我们能够上传push和pull我们自己的images。,Docker架构图,Docker总架构图,Docker运行案例分析-dockerpull,Docker运行案例分析-dockerrun,Docker镜像,每个镜像都由很多层次构成,Docker使用UnionFS将这些不同的层结合到一个镜像中去。使用dockerpull命令来从仓库获取所需要的镜像$sudodockerpullubuntu:12.04使用dockerimages显示本地已有的镜像,创建镜像,从DockerHub获取已有镜像并更新,最后使用dockercommit命令来提交更新后的副本。利用Dockerfile来创建镜像Dockerfile中每一条指令都创建镜像的一层,例如:编写完成Dockerfile后可以使用dockerbuild来生成镜像,镜像导出、导入、移除,如果要导出镜像到本地文件,可以使用dockersave命令。$sudodockersave-oubuntu_14.04.tarubuntu:14.04可以使用dockerload从导出的本地文件中再导入到本地镜像库,例如:$sudodockerload-inputubuntu_14.04.tar如果要移除本地的镜像,可以使用dockerrmi命令。使用下面的命令可以清理所有未打过标签的本地镜像$sudodockerrmi$(dockerimages-q-fdangling=true),Docker容器,启动容器有两种方式,一种是基于镜像新建一个容器并启动,另外一个是将在终止状态(stopped)的容器重新启动。新建并启动$sudodockerrunubuntu:14.04/bin/echoHelloworldHelloworld启动已终止容器dockerstart添加-d参数来实现后台运行,不直接把执行命令的结果输出在当前宿主机下。使用dockerstop来终止一个运行中的容器使用dockerattach命令进入容器进行操作,如果要导出本地某个容器,可以使用dockerexport命令。$sudodockerexport7691a814370eubuntu.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镜像从S
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 健身课程合同范例
- 二手房委托买房合同范例
- 公司股分配合同范例
- 企业内部如何应用区块链进行消费权益保护
- 2025年小学民主评议政风行风工作总结模版
- 买卖胶带分装合同范例
- 腰疝的临床护理
- 专利独占合同范例
- 温州市普通高中2025届高三第三次适应性考试化学试题及答案
- 做卫生间隔断合同范例
- 2025年山东省青岛市市南区中考一模地理试题(含答案)
- 102解二元一次方程组【10个必考点】(必考点分类集训)(人教版2024)
- 邻水现代农业发展集团有限公司招聘笔试题库2025
- 档案管理员工作
- 儿童支气管哮喘诊断与防治指南解读(2025年)课件
- 肿瘤专科进修汇报护理
- 第2课 《 手绘线条图像-物象的多视角表达》(教学设计)-2023-2024学年人美版初中美术八年级下册
- 肾上腺皮质功能减退护理
- 配电房防火安全施工技术措施
- 地铁乘客满意度影响因素组态效应分析:出行链视角研究
- 数学三角形的高、中线、角平分线教案2024-2025学年北师大版(2024)七年级数学下册
评论
0/150
提交评论