SlideShare a Scribd company logo
1 of 48
Docker 虚拟化技术及Donor平台介绍
li.jeanphorn@gmail.com
项目背景
 测试2还有人用吗?
 我有个配置需要马上测一下,可
以发到哪个环境?
 同时有多个功能需要,怎么办?
 我的配置被谁覆盖掉了?
测试、运营同学
 如何使自己的开发不影响到别人?
 和别人使用不同php版本,How?
 希望自己有专属机器,随意折腾,
Possible?
开发同学
Why Docker?
Docker 是什么?
• Docker是一个自动执行部署在容器内应用程序的的开源项目软件。
• 为开发等相关人员提供构建、运行分布式应用的开放平台。
VM vs. Docker
VM vs. Docker
Google Trends:
https://www.google.co.uk/trends/explore?q=%2Fm%2F0wkcjgj&hl=en-US
Docker 技术优势?
 更高效的利用系统资源
 更快速的启动时间
 一致的运行环境持续交付和部署
 更轻松的迁移
 更轻松的维护和扩展
Getting Started with Docker
Docker 组件
Docker 安装
官方地址:https://www.dock er.com/products/overview
Docker 镜像
1. 从Docker Hub拉取镜像
2. 使用Dockerfile定制镜像
3. 打包现有文件系统
通过打包现有系统的文件系统到gz包,然后再导入到docker服务中。也可以在虚拟机上最小化
安装一个系统,安装自己的基本功能然后打包成基础镜像。
镜像常见三种来源方式
docker pull [选项] [Docker Registry地址]<仓库名>:<标签>
暂未使用,先不介绍。可参考一下资料:
https://yeasy.gitbooks.io/docker_practice/content/image/build.html
使用’docker images ‘查看所有镜像:
查看镜像
查询镜像
使用commit迭代镜像
迭代镜像
镜像其他相关操作
 查看镜像详细信息:
docker inspect <image_name>
 列出镜像层级信息:
docker history<image_name>
 存储和加载镜像:
“docker save” and “docker load”
 删除镜像:
“$docker rmi $(docker images -q)”
docker images -q
lists all image ids
Docker 容器
新建并启动容器
docker run -itd --name cml_test_cleandroid -h dtest1.mobi.shbt.qihoo.net -p 8081:8080
-v /data/data_volume/cleandroid_cn/callapp_engine:/home/s/callapp_engine
-v /data/data_volume/cleandroid_cn/data:/home/s/data
--privileged=true 3623959fca82 /bin/bash
启动和停止已存在容器
使用docker ps –a命令查看所有容器
docker start|stop [容器名称] 来启停容器
容器的核心为所执行的应用程序,所需要的资源都是应用程序运行所必需的。
除此之外,并没有其它的资源。这种特点使得 Docker 对资源的利用率极高,
是货真价实的轻量级虚拟化。
进入容器
进入容器
导入/导出/删除容器
Export命令导出容器
Import导入容器:
例:cat cml_build_lijianfang | docker import – cml_dev_centos6.2:v3
删除容器
格式: docker rm 容器名|容器ID
Docker 仓库
私有仓库安装运行
上传镜像
在这里,我们的私有仓库地址为 10.202.131.115:5000
上传镜像:
a) 打tag。格式为 docker tag IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG]
b) docker push 上传
下载镜像
在这里,我们的私有仓库地址为 10.202.131.115:5000
可以到另外一台机器去下载这个镜像。使用docker pull命令下载:
Docker 数据卷
 数据卷可以在容器之间共享和重用
数据卷特点
 对数据卷的修改会立马生效
 对数据卷的更新,不会影响镜像
 数据卷默认会一直存在,即使容器被
删除
Donor平台介绍
配置化,容易扩展其他业务!
 多测试环境以HTTP header区分
使用细节及原则
 发布测试配置到自己容器!
 用完即停,别人也可以复用!
 不建议无限制的建新容器!
Thank You !!!

More Related Content

Similar to Docker技术介绍

讓軟體開發與應用更自由 - 使用 Docker 技術
讓軟體開發與應用更自由 - 使用 Docker 技術讓軟體開發與應用更自由 - 使用 Docker 技術
讓軟體開發與應用更自由 - 使用 Docker 技術Yu Lung Shao
 
Docker workshop
Docker workshopDocker workshop
Docker workshopWei Tung
 
實踐 Clean Architecture(實作高可用性的軟件架構)
實踐 Clean Architecture(實作高可用性的軟件架構)實踐 Clean Architecture(實作高可用性的軟件架構)
實踐 Clean Architecture(實作高可用性的軟件架構)Gelis Wu
 
桃園市教育局Docker技術入門與實作
桃園市教育局Docker技術入門與實作桃園市教育局Docker技術入門與實作
桃園市教育局Docker技術入門與實作Philip Zheng
 
Docker 淺入淺出
Docker 淺入淺出Docker 淺入淺出
Docker 淺入淺出Miles Chou
 
VSCode Remote Development
VSCode Remote DevelopmentVSCode Remote Development
VSCode Remote DevelopmentPhilip Zheng
 
Docker - 30秒生出100台伺服器
Docker - 30秒生出100台伺服器Docker - 30秒生出100台伺服器
Docker - 30秒生出100台伺服器升煌 黃
 
VSCode Remote Development 介紹
VSCode Remote Development 介紹VSCode Remote Development 介紹
VSCode Remote Development 介紹Philip Zheng
 
Flutter 踩雷心得
Flutter 踩雷心得Flutter 踩雷心得
Flutter 踩雷心得Weizhong Yang
 
docker intro
docker introdocker intro
docker introkoji lin
 
Weic2015 docker
Weic2015 dockerWeic2015 docker
Weic2015 dockerRay Lin
 
Enterprise connect
Enterprise connectEnterprise connect
Enterprise connectthinkinlamp
 
Effective DevOps:一場文化與技術的轉型運動 (陳正瑋)
Effective DevOps:一場文化與技術的轉型運動  (陳正瑋)Effective DevOps:一場文化與技術的轉型運動  (陳正瑋)
Effective DevOps:一場文化與技術的轉型運動 (陳正瑋)AgileTour@TW
 
Effective DevOps (Agile Tour HsinChu 2017)
Effective DevOps (Agile Tour HsinChu 2017)Effective DevOps (Agile Tour HsinChu 2017)
Effective DevOps (Agile Tour HsinChu 2017)Chen Cheng-Wei
 
微博基于Docker的混合云平台设计与实践
微博基于Docker的混合云平台设计与实践微博基于Docker的混合云平台设计与实践
微博基于Docker的混合云平台设计与实践Weibo Corporation
 
software development guide map
software development guide mapsoftware development guide map
software development guide mapbiaowei zhuang
 

Similar to Docker技术介绍 (20)

讓軟體開發與應用更自由 - 使用 Docker 技術
讓軟體開發與應用更自由 - 使用 Docker 技術讓軟體開發與應用更自由 - 使用 Docker 技術
讓軟體開發與應用更自由 - 使用 Docker 技術
 
Docker workshop
Docker workshopDocker workshop
Docker workshop
 
Docker基礎
Docker基礎Docker基礎
Docker基礎
 
實踐 Clean Architecture(實作高可用性的軟件架構)
實踐 Clean Architecture(實作高可用性的軟件架構)實踐 Clean Architecture(實作高可用性的軟件架構)
實踐 Clean Architecture(實作高可用性的軟件架構)
 
桃園市教育局Docker技術入門與實作
桃園市教育局Docker技術入門與實作桃園市教育局Docker技術入門與實作
桃園市教育局Docker技術入門與實作
 
Docker 淺入淺出
Docker 淺入淺出Docker 淺入淺出
Docker 淺入淺出
 
VSCode Remote Development
VSCode Remote DevelopmentVSCode Remote Development
VSCode Remote Development
 
Docker - 30秒生出100台伺服器
Docker - 30秒生出100台伺服器Docker - 30秒生出100台伺服器
Docker - 30秒生出100台伺服器
 
VSCode Remote Development 介紹
VSCode Remote Development 介紹VSCode Remote Development 介紹
VSCode Remote Development 介紹
 
Flutter 踩雷心得
Flutter 踩雷心得Flutter 踩雷心得
Flutter 踩雷心得
 
docker intro
docker introdocker intro
docker intro
 
Flutter實作概述 | GDSC NYCU
Flutter實作概述 | GDSC NYCUFlutter實作概述 | GDSC NYCU
Flutter實作概述 | GDSC NYCU
 
Android工作坊
Android工作坊Android工作坊
Android工作坊
 
Weic2015 docker
Weic2015 dockerWeic2015 docker
Weic2015 docker
 
Enterprise connect
Enterprise connectEnterprise connect
Enterprise connect
 
Effective DevOps:一場文化與技術的轉型運動 (陳正瑋)
Effective DevOps:一場文化與技術的轉型運動  (陳正瑋)Effective DevOps:一場文化與技術的轉型運動  (陳正瑋)
Effective DevOps:一場文化與技術的轉型運動 (陳正瑋)
 
Effective DevOps (Agile Tour HsinChu 2017)
Effective DevOps (Agile Tour HsinChu 2017)Effective DevOps (Agile Tour HsinChu 2017)
Effective DevOps (Agile Tour HsinChu 2017)
 
微博基于Docker的混合云平台设计与实践
微博基于Docker的混合云平台设计与实践微博基于Docker的混合云平台设计与实践
微博基于Docker的混合云平台设计与实践
 
Flutter實作概述 | GDSC NYCU
Flutter實作概述 | GDSC NYCUFlutter實作概述 | GDSC NYCU
Flutter實作概述 | GDSC NYCU
 
software development guide map
software development guide mapsoftware development guide map
software development guide map
 

Docker技术介绍

Editor's Notes

  1. 上的图片比较了 Docker 和传统虚拟化方式的不同之处。 传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程;而容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟。因此容器要比传统虚拟机更为轻便。