ImageVerifierCode 换一换
格式:PPTX , 页数:26 ,大小:4.30MB ,
资源ID:5583850      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-5583850.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Docker技术资料ppt版本.pptx)为本站会员(weiwoduzun)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

Docker技术资料ppt版本.pptx

1、Docker 技术与实践技术与实践刘天斯主要内容一、 Docker介 绍 及原理二、 Docker基本操作三、 Docker实 践案例 什么是 Docker? Docker的生态圈 认识 Docker Docker VS VM Docker的原理 Docker文件系统Docker三大核心Docker操作 -仓库Docker操作 -镜像Docker操作 -容器Docker操作 -DockerfileDocker操作 -API 待解决的问题 案例架构说明 容器配置存储 -etcd 配置管理代理 -confd 与容器联动第一部分Docker介绍及原理什么是 Docker?Docker是一个构建在 L

2、XC之上,基于进程容器的轻量级 VM解决方案,实现了一种应用程序级别的资源隔离及配额。Docker起源于 PaaS提供商 dotCloud 基于 go语言开发,遵从Apache2.0开源协议。Eric Brewer ( Google 基础架构部副总裁 )容器技术曾是 Google 的基础,我们和 Docker 联手,把容器技术打造为所有云应用的基石。我们能 “ 升级互联网 ” 至下一代。Solomon ( docker创始人 )自动打包和部署应用创建轻量、私有的 PaaS环境自动化测试和持续集成 /部署部署并扩展 Web应用、数据库和后端服务器Docker应用场景Docker Docker基于

3、容器技术的 轻量级 虚拟化解决方案 Docker是容器引擎,把 Linux的 cgroup、 namespace等容器底层技术进行封装抽象( 后面会介绍此两种技术 ),为用户提供了创建和管理容器的便捷界面(包括命令行和 API) Docker 是一个开源项目,诞生于 2013 年初,基于 Google 公司推出的 Go 语言实现 微软,红帽 Linux, IBM, Oracle等主流 IT厂商已经在自己的产品里增加对 Docker的支持。 Google 每周启动超过 20亿个容器进行业务服务,于上个世纪 90年代已经开始大规模使用容器技术问题1、资源利用效率低2、单物理机多应用无法有效隔离(进

4、程空间, cpu资源,磁盘)3、运维部署不便4、测试、版本管理复杂5、迁移成本高6、传统虚拟机,空间占用大,启动慢,管理 复杂Docker-轻量级虚拟化容器技术1、秒级启动,秒级停止,空间资源占用极少(几 M)2、实现进程级别的隔离3、可在普通服务器上建立上百个 docker实例4、加快开发测试部署的速度5、简化版本管理Docker的生态圈Official Repos & 14K+ Dockerized AppsCommunity460+ Contributors250+ Meetups on Docker2.75M Downloads6.7K Projects on GitHubSuppor

5、tEnterprise SupportRobust DocumentationImplementation, Integration, Training Network of PartnersThe Docker PlatformDocker EngineDocker Hub Build, Ship, and RunPartnersContentUsers认识 Docker Namespaces (IBM) Cgroups (Google) LXC tools The Linux Kernel Git SELinux (Red Hat) Solaris Zones BSD Jails +Doc

6、ker如何和 Linux内核打交道 ? Docker 平台工具、守护进程 Image 镜像,包括应用及系统的只读数据包 Container 容器,虚拟机的运行实例 Registry 仓库登记,管理镜像文件 Docker hub Docker官方公有仓库Docker专业 术语Docker VS VMDocker的原理pid - 进程net - 网络ipc - 消息mnt - 文件系统uts - 分时user - 用户Namespace 资源隔离LinuxKernelroot namespaceinitpid=1initpid=2bashpid=3bashpid=4X namespaceinitp

7、id=1bashpid=2Docker文件系统Docker镜像位于 bootfs之上每一层镜像的下面一层称为其父镜像 (父子关系 )第一层镜像为 Base Image容器在最顶层其下的所有层都为 readonlyDocker将 readonly的 FS层称作 “image“Docker AUFS特性第二部分Docker基本操作Docker三大核心容器Container镜 像images仓库Repositoriesdocker Hub(public registry)Docker-registry(private registry)Docker操作 -仓库 docker search cento

8、s6 docker pull centos:latest docker push yorko/mysql:v2 docker login仓库相关命令Docker操作 -镜像 docker images docker rmi centos:latest docker build -t=“yorko/mysql:v1“ . docker export /home/export.tar cat /home/export.tar | docker import - yorko-1-export:latest docker save yorko-1 /home/save.tar docker load

9、/home/save.tar镜像相关命令Docker操作 -容器 docker run -d -dns 172.17.42.1 -p 8080:80 -p 2022:22 -v /data:/data v /etc/httpd/conf:/etc/httpd/conf -v /etc/httpd/conf.d:/etc/httpd/conf.d v /etc/localtime:/etc/localtime:ro -name webserver1 webserver:v3 /usr/sbin/apache2 -DFOREGROUND docker start/stop/restart/atta

10、ch/kill webserver1容器运行相关命令Docker操作 -DockerfileFROM ubuntu/14.04MAINTAINER guol# install sshRUN apt-get install openssh-server -y# config sshRUN mkdir /var/run/sshdRUN useradd s /bin/bash m d /home/guol guolRUN echo guol:123456|chpasswdENV RUNNABLE_USER_DIR /home/guolEXPOSE 22CMD “/usr/sbin/sshd -D“D

11、ockerfile介绍Docker操作 -APIimport dockerc = docker.Client(base_url=tcp:/192.168.1.22:2375,version=1.14,timeout=10)c.create_container(image=“yorko/webserver:v1“,stdin_open=True,tty=True,command=“/usr/bin/supervisord -c /etc/supervisord.conf“,volumes=/data,ports=80,22,name=“webserver“)import dockerc = do

12、cker.Client(base_url=tcp:/192.168.1.22:2375,version=1.14,timeout=10)r=c.start(container=webserver, binds=/data:bind: /data,ro: False, port_bindings=80:80,22:2022, lxc_conf=None,publish_all_ports=True, links=None, privileged=False,dns=None, dns_search=None, volumes_from=None, network_mode=None,restar

13、t_policy=None, cap_add=None, cap_drop=None)Pydocker api操作第三部分Docker实践案例待解决的问题1、如何实现自动发现?2、如何支持多台主宿机?3、容器服务的高可用如何保障?5、如何实现资源最大化利用?4、如何保证容器服务负载均衡?案例架构说明HTTP requestHaproxy(M) Haproxy(S)Confd haproxy.cfgEtcd masterEtcd slaveServer_1Container_1App on port 23842Container_2App on port 23843DockerServer_2C

14、ontainer_1App on port 14512Container_2App on port 14513DockerREST-APIHaproxy.cfgShell Docker run Curl etcd setEtcdConfd架构流程容器配置存储 -etcdEtcd是一个高可用的 Key/Value 存储系统,主要用于分享配置和服务发现。 简单:支持 curl 方式的用户 API (HTTP+JSON) 安全:可选 SSL 客户端证书认证 快速:单实例可达每秒 1000 次写操作 可靠:使用 Raft 实现分布式Etcd介绍# curl -L http:/192.168.1.22:

15、4001/v2/keys/app/servers/web1 -XPUT -d value=“192.168.1.20:23843“action“: “get“,“node“: “createdIndex“: 2,“key“: “/app/servers/web1“,“modifiedIndex“: 2,“value“: “192.168.1.20:23843“# curl -L http:/192.168.1.22:4001/v2/keys/app/servers/web1 -XDELETE“action“: “delete“,“node“: “createdIndex“: 3,“key”:

16、“/app/servers/web1“,“modifiedIndex“: 4,“prevNode“: “key“: “/app/servers/web1“,“value“: “192.168.1.20:23843“,“modifiedIndex“: 3,“createdIndex“: 3配置管理代理 -confdconfd是一个轻量级的配置管理工具。 通过查询 Etcd,结合配置模板引擎,保持本地配置最新; 定期扫描,配置变更自动 reload。Confd介绍# cat /etc/confd/conf.d/helloworld.tomltemplatesrc = “haproxy.cfg.tm

17、pl“dest = “/etc/haproxy/haproxy.cfg“keys = “/app/servers“,reload_cmd = “/etc/init.d/haproxy reload“# cat /etc/confd/templates/haproxy.cfg.tmpllisten frontend 0.0.0.0:8080mode httpstats enablestats uri /haproxy?statsbalance roundrobinoption httpcloseoption forwardforrange gets “/app/servers/*“server base .Key .Value checkend# cat /etc/haproxy/haproxy.cfgserver web1 192.168.1.20:35343 checkserver web2 192.168.1.20:35346 checkserver web3 192.168.1.20:35347 check与容器联动一个一个 Docker自动发现,具备容灾及负载均衡的虚拟化平台完美呈现!自动发现,具备容灾及负载均衡的虚拟化平台完美呈现!Q & A

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报