Docker技术资料版本精品PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Eric Brewer ( Google 基础架构部副总裁 ) •自动化测试和持续集成/部署
•部署并扩展Web应用、数据库和后端 服务器
我们能“升级互联网”至下一代。
Solomon ( docker创始人 )
Docker
• Docker基于容器技术的轻量级虚拟化解决方案 • Docker是容器引擎,把Linux的cgroup、namespace等容器
Docker 技术与实践
主要内容
一、Docker介绍及原理
✓ 什么是Docker? ✓ Docker的生态圈 ✓ 认识Docker ✓ Docker VS VM ✓ Docker的原理 ✓ Docker文件系统
二、Docker基本操作
✓Docker三大核心 ✓Docker操作-仓库 ✓Docker操作-镜像 ✓Docker操作-容器 ✓Docker操作-Dockerfile ✓Docker操作-API
Docker的生态圈
Partners
Community
460+ Contributors 250+ Meetups on Docker 2.75M Downloads 6.7K Projects on GitHub
Users
Support
Enterprise Support Robust Documentation Implementation, Integration, Training Network of Partners
bash pid=3
bash pid=4
X namespace
init pid=1
bash pid=2
Docker文件系统
Docker AUFS特性
•Docker镜像位于bootfs之上 •每一层镜像的下面一层称为 其父镜像(父子关系) •第一层镜像为Base Image •容器在最顶层 •其下的所有层都为readonly •Docker将readonly的FS层 称作 "image"
第二部分
Docker基本操作
Docker三大核心
容器 Container
源自文库
镜像 images
仓库
Repositories
docker Hub (public registry)
Docker-registry (private registry)
Docker操作-仓库
仓库相关命令
• docker search centos6 • docker pull centos:latest • docker push yorko/mysql:v2 • docker login
• +++
Docker VS VM
Docker的原理
Namespace 资源隔离
•pid - 进程 •net - 网络 •ipc - 消息 •mnt - 文件系统 •uts - 分时 •user - 用户
Linux Kernel
root namespace
init pid=1
init pid=2
Content
Official Repos & 14K+ Dockerized Apps
The Docker Platform Docker Engine Docker Hub
Build, Ship, and Run
认识Docker
Docker如何和Linux内核打交道?
• •
DNoacmkeers专pa业ce术s 语(IBM) Cgroups (Google)
Docker操作-镜像
镜像相关命令
• docker images • docker rmi centos:latest • docker build -t="yorko/mysql:v1" . • docker export <CONTAINER ID> > /home/export.tar • cat /home/export.tar | docker import - yorko-1export:latest • docker save yorko-1 > /home/save.tar • docker load < /home/save.tar
• • Docker LX平C台t工oo具ls、守护进程 • The Linux Kernel
• • Image 镜像,包括应用及系统的只
读数据包 Git
• Conta•inSerEL容in器u,x虚(R拟e机d的H运a行t)实例
• Regis•trySo仓la库ri登s 记Zo,n管e理s 镜像文件 • • Docker BhuSbD JDaoilcsker官方公有仓库
三、Docker实践案例
✓ 待解决的问题 ✓ 案例架构说明 ✓ 容器配置存储-etcd ✓ 配置管理代理-confd ✓ 与容器联动
第一部分
Docker介绍及原理
什么是Docker?
DockDeor是ck一er个应构用建场在景LXC之上,基于进程容器的轻量级VM
解决方案,实现了一种应用程序级别的资源隔离及配额。 •D自o动c打ke包r起和源部署于应Pa用aSD提o容供ck器商er技d联o术t手C曾l,o是u把dG容基o器o于g技gle术o的语打基言造础开为,发所我,有们遵云和从应 •A创p建a轻ch量e2、.0私开有源的协Pa议a用S。环的境基石。
问题
1、资源利用效率低 2、单物理机多应用无法有效隔离(进程空间,cpu 资源,磁盘) 3、运维部署不便 4、测试、版本管理复杂 5、迁移成本高 6、传统虚拟机,空间占用大,启动慢,管理复杂
Docker--轻量级虚拟化容器技术
1、秒级启动,秒级停止,空间资源占用极少 (几M) 2、实现进程级别的隔离 3、可在普通服务器上建立上百个docker实例 4、加快开发测试部署的速度 5、简化版本管理
底层技术进行封装抽象(后面会介绍此两种技术),为用 户提供了创建和管理容器的便捷界面(包括命令行和API) • Docker 是一个开源项目,诞生于 2013 年初,基于 Google 公司推出的 Go 语言实现 • 微软,红帽Linux,IBM,Oracle等主流IT厂商已经在自己的 产品里增加对Docker的支持。 • Google 每周启动超过20亿个容器进行业务服务,于上个世 纪90年代已经开始大规模使用容器技术
•部署并扩展Web应用、数据库和后端 服务器
我们能“升级互联网”至下一代。
Solomon ( docker创始人 )
Docker
• Docker基于容器技术的轻量级虚拟化解决方案 • Docker是容器引擎,把Linux的cgroup、namespace等容器
Docker 技术与实践
主要内容
一、Docker介绍及原理
✓ 什么是Docker? ✓ Docker的生态圈 ✓ 认识Docker ✓ Docker VS VM ✓ Docker的原理 ✓ Docker文件系统
二、Docker基本操作
✓Docker三大核心 ✓Docker操作-仓库 ✓Docker操作-镜像 ✓Docker操作-容器 ✓Docker操作-Dockerfile ✓Docker操作-API
Docker的生态圈
Partners
Community
460+ Contributors 250+ Meetups on Docker 2.75M Downloads 6.7K Projects on GitHub
Users
Support
Enterprise Support Robust Documentation Implementation, Integration, Training Network of Partners
bash pid=3
bash pid=4
X namespace
init pid=1
bash pid=2
Docker文件系统
Docker AUFS特性
•Docker镜像位于bootfs之上 •每一层镜像的下面一层称为 其父镜像(父子关系) •第一层镜像为Base Image •容器在最顶层 •其下的所有层都为readonly •Docker将readonly的FS层 称作 "image"
第二部分
Docker基本操作
Docker三大核心
容器 Container
源自文库
镜像 images
仓库
Repositories
docker Hub (public registry)
Docker-registry (private registry)
Docker操作-仓库
仓库相关命令
• docker search centos6 • docker pull centos:latest • docker push yorko/mysql:v2 • docker login
• +++
Docker VS VM
Docker的原理
Namespace 资源隔离
•pid - 进程 •net - 网络 •ipc - 消息 •mnt - 文件系统 •uts - 分时 •user - 用户
Linux Kernel
root namespace
init pid=1
init pid=2
Content
Official Repos & 14K+ Dockerized Apps
The Docker Platform Docker Engine Docker Hub
Build, Ship, and Run
认识Docker
Docker如何和Linux内核打交道?
• •
DNoacmkeers专pa业ce术s 语(IBM) Cgroups (Google)
Docker操作-镜像
镜像相关命令
• docker images • docker rmi centos:latest • docker build -t="yorko/mysql:v1" . • docker export <CONTAINER ID> > /home/export.tar • cat /home/export.tar | docker import - yorko-1export:latest • docker save yorko-1 > /home/save.tar • docker load < /home/save.tar
• • Docker LX平C台t工oo具ls、守护进程 • The Linux Kernel
• • Image 镜像,包括应用及系统的只
读数据包 Git
• Conta•inSerEL容in器u,x虚(R拟e机d的H运a行t)实例
• Regis•trySo仓la库ri登s 记Zo,n管e理s 镜像文件 • • Docker BhuSbD JDaoilcsker官方公有仓库
三、Docker实践案例
✓ 待解决的问题 ✓ 案例架构说明 ✓ 容器配置存储-etcd ✓ 配置管理代理-confd ✓ 与容器联动
第一部分
Docker介绍及原理
什么是Docker?
DockDeor是ck一er个应构用建场在景LXC之上,基于进程容器的轻量级VM
解决方案,实现了一种应用程序级别的资源隔离及配额。 •D自o动c打ke包r起和源部署于应Pa用aSD提o容供ck器商er技d联o术t手C曾l,o是u把dG容基o器o于g技gle术o的语打基言造础开为,发所我,有们遵云和从应 •A创p建a轻ch量e2、.0私开有源的协Pa议a用S。环的境基石。
问题
1、资源利用效率低 2、单物理机多应用无法有效隔离(进程空间,cpu 资源,磁盘) 3、运维部署不便 4、测试、版本管理复杂 5、迁移成本高 6、传统虚拟机,空间占用大,启动慢,管理复杂
Docker--轻量级虚拟化容器技术
1、秒级启动,秒级停止,空间资源占用极少 (几M) 2、实现进程级别的隔离 3、可在普通服务器上建立上百个docker实例 4、加快开发测试部署的速度 5、简化版本管理
底层技术进行封装抽象(后面会介绍此两种技术),为用 户提供了创建和管理容器的便捷界面(包括命令行和API) • Docker 是一个开源项目,诞生于 2013 年初,基于 Google 公司推出的 Go 语言实现 • 微软,红帽Linux,IBM,Oracle等主流IT厂商已经在自己的 产品里增加对Docker的支持。 • Google 每周启动超过20亿个容器进行业务服务,于上个世 纪90年代已经开始大规模使用容器技术