免费预览已结束,剩余33页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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 listdebhttps apt dockerproject org 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 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镜像构建容器修改网站 应用案例 中小企业使用D
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年疫情家长心理测试题及答案
- 安徽省芜湖部分学校2025-2026学年八年级上学期期中考试语文试题(含答案)
- 广东省四校2025-2026学年高三10月月考语文试题
- 上海市长宁区三校2025-2026学年九年级上学期期中联考语文试题参考答案
- 安全 危险的虫子课件
- 2025年兰州中考考生试卷及答案
- 安全灵活应对绑架课件
- 2025年低体温预防的试卷及答案
- 2026年建筑装饰公司装饰环保性能管控管理制度
- 2026年建筑装饰公司第三方检测委托管理制度
- 电子商务运营数据分析案例库
- 事业单位人事知识培训课件
- 市政工程安全生产专项方案
- 2025年水产品加工行业研究报告及未来行业发展趋势预测
- 第十六章会阴部手术病人的护理2讲课文档
- 防范学生飙车安全知识培训课件
- 粮油公司产品介绍
- 酒店婚宴设计方案
- 2025自贡开放大学公需科目答案
- 药物外渗的应急预案流程
- 先天性肺气道畸形护理查房
评论
0/150
提交评论