SlideShare a Scribd company logo
1 of 15
Download to read offline
2015年
hubugui@gmail.com
初识
• 起源dotCloud公司PAAS引擎
– http://github.com/docker/docker
• Linux Container Engine
– 容器间隔离,共享OS,资源配给
– 虚拟机(VMWare/Xen/KVM/VirtualBox)替代品
• 软件集装箱
– Docker Hub 托管常用软件镜像的集装箱
• 软件交付革新
Docker是什么
*
Docker原理
• 名字空间(Name Spaces)
– 容器内外进程之间不可见,独立目录
• 控制组(Control Groups)
– 资源访问限制,CPU/内存/硬盘
• 联合文件系统(Aufs/Device mapper/Btrfs/Vfs)
– 容器复用和版本管理
• 容器格式
– LXC/1.20V后支持 libcontainer*
UnionFS(联合文件系统)
*
Virtual Machine VS Docker
*
Docker优势
• 节省虚拟Guest OS需要的大量空间
– 硬盘空间以GB为单位,内存以MB位单位
– Guest OS越多越体现Docker优势
• 性能接近原生系统
• 轻量级,快速创建和启动
软件集装箱
*
Docker Hub
*
• 类似GitHub,常用软件镜像的集装箱
• 开源,可用在私有环境
• https://hub.docker.com/
软件交付(创建/发布/运行)
*
• 软件运行环境
– 操作系统
– 开发调试工具
– 第三方软件或库
– 配置项
交付时常遇到不同机器间环境不一致性的坑,比如
版本/环境变量/库路径/编译选项......
环境一致性的解决方法
*
• 以前
– 创建阶段:文档+人肉手动,效率取决于开发队伍习惯
– 发布运行阶段:安装包或脚本
• 有了Docker
– 借助Docker Hub,打包整个运行环境,一次生成到处运行
– 不同的软件运行环境得到隔离,冲突减少
Docker Life Cycle
*
http://www.slideshare.net/winggundamth/introduction-to-docker-40139950
例子
*
• Web(python/mysql/webpy/redis)
– 开发、测试、运维,借助Docker Hub,快速部署
• Android ROM开发
– 庞大的交叉编译工具链,依赖库
– 创建标准镜像,开发者在不同机器均可使用,减少折腾
• 标准化项目环境
– Python/VIM/VLC/FFMPEG/LLVM/OpenStack/Hadoop/QT/Redis
Virtual Desktop
*
https://github.com/rogaha/docker-desktop
Docker不足
• 安全性
– 隔离程度不如虚拟机
• 平台
– 仅限于Linux
– 下代Windows Server原生支持
*
安全性
• 名字空间(Name Spaces)
– 2.6.15 版本(2008 年)之后被引入,数年间可靠性在诸多大型系统中被实践验证
• 控制组(Control Groups)
– 始于 2006 年,内核从 2.6.24 版本开始引入
• Docker守护进程拥有root权限
– 采用本地UNIX Socket取代127.0.0.1
– SSL证书加强客户端和守护进程之间的安全机制
– 容器root映射到宿主机非root,未来重点在于允许守护进程工作在非root
• Linux内核能力机制
– 限制容器进程能力,白名单
*
参考
• 第一本Docker书
• Docker —— 从入门到实践
• Docker基础技术:Linux Namespace(上)
• What is Docker?
• containers-docker-virtual-machines-and-hpc
• performance-of-docker-vs-vms
• introduction-to-docker
*

More Related Content

What's hot

cec-hello-docker
cec-hello-dockercec-hello-docker
cec-hello-dockerBruce Huang
 
Docker一期培训
Docker一期培训Docker一期培训
Docker一期培训青帅 常
 
快速上手 Windows Containers 容器技術 (Docker Taipei)
快速上手 Windows Containers 容器技術 (Docker Taipei)快速上手 Windows Containers 容器技術 (Docker Taipei)
快速上手 Windows Containers 容器技術 (Docker Taipei)Will Huang
 
Docker 最佳实践
Docker 最佳实践Docker 最佳实践
Docker 最佳实践YuLing Liu
 
Docker open stack
Docker open stackDocker open stack
Docker open stackGuangya Liu
 
Docker集群管理 工具篇
Docker集群管理 工具篇Docker集群管理 工具篇
Docker集群管理 工具篇Guangya Liu
 
Docker - 30秒生出100台伺服器
Docker - 30秒生出100台伺服器Docker - 30秒生出100台伺服器
Docker - 30秒生出100台伺服器升煌 黃
 
Azure Container Service 使用 DC / OS 管理 docker 容器
Azure Container Service 使用 DC / OS 管理 docker 容器Azure Container Service 使用 DC / OS 管理 docker 容器
Azure Container Service 使用 DC / OS 管理 docker 容器Ch Rick
 
QNAP MOPCON 2015 - 輕鬆打造持續整合開發環境,使用 QNAP Docker
QNAP MOPCON 2015 -  輕鬆打造持續整合開發環境,使用 QNAP DockerQNAP MOPCON 2015 -  輕鬆打造持續整合開發環境,使用 QNAP Docker
QNAP MOPCON 2015 - 輕鬆打造持續整合開發環境,使用 QNAP DockerWu Fan-Cheng
 
Rancher: 建立你的牧場艦隊
Rancher: 建立你的牧場艦隊Rancher: 建立你的牧場艦隊
Rancher: 建立你的牧場艦隊Miles Chou
 
Docker tutorial
Docker tutorialDocker tutorial
Docker tutorialazole Lai
 
20150604 docker 新手入門
20150604 docker 新手入門20150604 docker 新手入門
20150604 docker 新手入門azole Lai
 
容器式基礎架構介紹
容器式基礎架構介紹容器式基礎架構介紹
容器式基礎架構介紹Philip Zheng
 
Wot2013云计算架构师峰会 -陈轶飞2
Wot2013云计算架构师峰会 -陈轶飞2Wot2013云计算架构师峰会 -陈轶飞2
Wot2013云计算架构师峰会 -陈轶飞2dotCloud
 
Cinder isaci 实现原理详解
Cinder isaci 实现原理详解Cinder isaci 实现原理详解
Cinder isaci 实现原理详解Yong Luo
 
Deployment with Capistrano
Deployment with CapistranoDeployment with Capistrano
Deployment with Capistrano旭 張
 

What's hot (20)

cec-hello-docker
cec-hello-dockercec-hello-docker
cec-hello-docker
 
Docker一期培训
Docker一期培训Docker一期培训
Docker一期培训
 
快速上手 Windows Containers 容器技術 (Docker Taipei)
快速上手 Windows Containers 容器技術 (Docker Taipei)快速上手 Windows Containers 容器技術 (Docker Taipei)
快速上手 Windows Containers 容器技術 (Docker Taipei)
 
Docker 最佳实践
Docker 最佳实践Docker 最佳实践
Docker 最佳实践
 
Docker
DockerDocker
Docker
 
Docker open stack
Docker open stackDocker open stack
Docker open stack
 
Docker集群管理 工具篇
Docker集群管理 工具篇Docker集群管理 工具篇
Docker集群管理 工具篇
 
Docker - 30秒生出100台伺服器
Docker - 30秒生出100台伺服器Docker - 30秒生出100台伺服器
Docker - 30秒生出100台伺服器
 
Azure Container Service 使用 DC / OS 管理 docker 容器
Azure Container Service 使用 DC / OS 管理 docker 容器Azure Container Service 使用 DC / OS 管理 docker 容器
Azure Container Service 使用 DC / OS 管理 docker 容器
 
QNAP MOPCON 2015 - 輕鬆打造持續整合開發環境,使用 QNAP Docker
QNAP MOPCON 2015 -  輕鬆打造持續整合開發環境,使用 QNAP DockerQNAP MOPCON 2015 -  輕鬆打造持續整合開發環境,使用 QNAP Docker
QNAP MOPCON 2015 - 輕鬆打造持續整合開發環境,使用 QNAP Docker
 
Docker 101
Docker 101Docker 101
Docker 101
 
Docker基礎
Docker基礎Docker基礎
Docker基礎
 
Rancher: 建立你的牧場艦隊
Rancher: 建立你的牧場艦隊Rancher: 建立你的牧場艦隊
Rancher: 建立你的牧場艦隊
 
Docker tutorial
Docker tutorialDocker tutorial
Docker tutorial
 
Docker實務
Docker實務Docker實務
Docker實務
 
20150604 docker 新手入門
20150604 docker 新手入門20150604 docker 新手入門
20150604 docker 新手入門
 
容器式基礎架構介紹
容器式基礎架構介紹容器式基礎架構介紹
容器式基礎架構介紹
 
Wot2013云计算架构师峰会 -陈轶飞2
Wot2013云计算架构师峰会 -陈轶飞2Wot2013云计算架构师峰会 -陈轶飞2
Wot2013云计算架构师峰会 -陈轶飞2
 
Cinder isaci 实现原理详解
Cinder isaci 实现原理详解Cinder isaci 实现原理详解
Cinder isaci 实现原理详解
 
Deployment with Capistrano
Deployment with CapistranoDeployment with Capistrano
Deployment with Capistrano
 

Similar to Docker初识

docker intro
docker introdocker intro
docker introkoji lin
 
開發人員不可不知的 Windows Container 容器技術預覽
開發人員不可不知的 Windows Container 容器技術預覽開發人員不可不知的 Windows Container 容器技術預覽
開發人員不可不知的 Windows Container 容器技術預覽Will Huang
 
Windows 與 Azure 的容器旅程 @ Ignite Mini 2016
Windows 與 Azure 的容器旅程 @ Ignite Mini 2016Windows 與 Azure 的容器旅程 @ Ignite Mini 2016
Windows 與 Azure 的容器旅程 @ Ignite Mini 2016Jeff Chu
 
Cloudstack dev/user sharing
Cloudstack dev/user sharingCloudstack dev/user sharing
Cloudstack dev/user sharinggavin_lee
 
讓軟體開發與應用更自由 - 使用 Docker 技術
讓軟體開發與應用更自由 - 使用 Docker 技術讓軟體開發與應用更自由 - 使用 Docker 技術
讓軟體開發與應用更自由 - 使用 Docker 技術Yu Lung Shao
 
Large-Scale Cluster Mangement & Kubernetes Under The Hood
Large-Scale Cluster Mangement & Kubernetes Under The HoodLarge-Scale Cluster Mangement & Kubernetes Under The Hood
Large-Scale Cluster Mangement & Kubernetes Under The HoodLei (Harry) Zhang
 
Docker進階探討
Docker進階探討Docker進階探討
Docker進階探討國昭 張
 
深入Docker的资源管理
深入Docker的资源管理深入Docker的资源管理
深入Docker的资源管理SpeedyCloud
 
3 introduction to kubernetes
3 introduction to kubernetes3 introduction to kubernetes
3 introduction to kubernetesJiang Shang
 
Docker+mesos安装最佳实践
Docker+mesos安装最佳实践Docker+mesos安装最佳实践
Docker+mesos安装最佳实践3908282
 
DAE 新变化介绍
DAE 新变化介绍DAE 新变化介绍
DAE 新变化介绍Tianwei Liu
 
全新 Windows Server 2019 容器技術 及邁向與 Kubernetes 整合之路 (Windows Server 高峰會)
全新 Windows Server 2019 容器技術及邁向與 Kubernetes 整合之路 (Windows Server 高峰會)全新 Windows Server 2019 容器技術及邁向與 Kubernetes 整合之路 (Windows Server 高峰會)
全新 Windows Server 2019 容器技術 及邁向與 Kubernetes 整合之路 (Windows Server 高峰會)Will Huang
 
云梯的多Namenode和跨机房之路
云梯的多Namenode和跨机房之路云梯的多Namenode和跨机房之路
云梯的多Namenode和跨机房之路li luo
 
Azure Web App on Linux @ Global Azure Bootcamp 2017 Taiwan
Azure Web App on Linux @ Global Azure Bootcamp 2017 TaiwanAzure Web App on Linux @ Global Azure Bootcamp 2017 Taiwan
Azure Web App on Linux @ Global Azure Bootcamp 2017 TaiwanWill Huang
 
Docker容器微服務 x WorkShop
Docker容器微服務 x WorkShopDocker容器微服務 x WorkShop
Docker容器微服務 x WorkShopPhilip Zheng
 
OpenStack and Docke Integration V6
OpenStack and Docke Integration V6OpenStack and Docke Integration V6
OpenStack and Docke Integration V6Guangya Liu
 
美团点评技术沙龙14美团云-Docker平台
美团点评技术沙龙14美团云-Docker平台美团点评技术沙龙14美团云-Docker平台
美团点评技术沙龙14美团云-Docker平台美团点评技术团队
 
从Docker到容器服务
从Docker到容器服务从Docker到容器服务
从Docker到容器服务Li Yi
 

Similar to Docker初识 (20)

docker intro
docker introdocker intro
docker intro
 
開發人員不可不知的 Windows Container 容器技術預覽
開發人員不可不知的 Windows Container 容器技術預覽開發人員不可不知的 Windows Container 容器技術預覽
開發人員不可不知的 Windows Container 容器技術預覽
 
Windows 與 Azure 的容器旅程 @ Ignite Mini 2016
Windows 與 Azure 的容器旅程 @ Ignite Mini 2016Windows 與 Azure 的容器旅程 @ Ignite Mini 2016
Windows 與 Azure 的容器旅程 @ Ignite Mini 2016
 
Cloudstack dev/user sharing
Cloudstack dev/user sharingCloudstack dev/user sharing
Cloudstack dev/user sharing
 
讓軟體開發與應用更自由 - 使用 Docker 技術
讓軟體開發與應用更自由 - 使用 Docker 技術讓軟體開發與應用更自由 - 使用 Docker 技術
讓軟體開發與應用更自由 - 使用 Docker 技術
 
Large-Scale Cluster Mangement & Kubernetes Under The Hood
Large-Scale Cluster Mangement & Kubernetes Under The HoodLarge-Scale Cluster Mangement & Kubernetes Under The Hood
Large-Scale Cluster Mangement & Kubernetes Under The Hood
 
Docker進階探討
Docker進階探討Docker進階探討
Docker進階探討
 
OPM
OPMOPM
OPM
 
深入Docker的资源管理
深入Docker的资源管理深入Docker的资源管理
深入Docker的资源管理
 
3 introduction to kubernetes
3 introduction to kubernetes3 introduction to kubernetes
3 introduction to kubernetes
 
Docker+mesos安装最佳实践
Docker+mesos安装最佳实践Docker+mesos安装最佳实践
Docker+mesos安装最佳实践
 
DAE 新变化介绍
DAE 新变化介绍DAE 新变化介绍
DAE 新变化介绍
 
全新 Windows Server 2019 容器技術 及邁向與 Kubernetes 整合之路 (Windows Server 高峰會)
全新 Windows Server 2019 容器技術及邁向與 Kubernetes 整合之路 (Windows Server 高峰會)全新 Windows Server 2019 容器技術及邁向與 Kubernetes 整合之路 (Windows Server 高峰會)
全新 Windows Server 2019 容器技術 及邁向與 Kubernetes 整合之路 (Windows Server 高峰會)
 
云梯的多Namenode和跨机房之路
云梯的多Namenode和跨机房之路云梯的多Namenode和跨机房之路
云梯的多Namenode和跨机房之路
 
Azure Web App on Linux @ Global Azure Bootcamp 2017 Taiwan
Azure Web App on Linux @ Global Azure Bootcamp 2017 TaiwanAzure Web App on Linux @ Global Azure Bootcamp 2017 Taiwan
Azure Web App on Linux @ Global Azure Bootcamp 2017 Taiwan
 
Docker容器微服務 x WorkShop
Docker容器微服務 x WorkShopDocker容器微服務 x WorkShop
Docker容器微服務 x WorkShop
 
Ceph intro
Ceph introCeph intro
Ceph intro
 
OpenStack and Docke Integration V6
OpenStack and Docke Integration V6OpenStack and Docke Integration V6
OpenStack and Docke Integration V6
 
美团点评技术沙龙14美团云-Docker平台
美团点评技术沙龙14美团云-Docker平台美团点评技术沙龙14美团云-Docker平台
美团点评技术沙龙14美团云-Docker平台
 
从Docker到容器服务
从Docker到容器服务从Docker到容器服务
从Docker到容器服务
 

Docker初识