SlideShare ist ein Scribd-Unternehmen logo
1 von 13
Docker
Workshop by Ben
什麼是 Docker
Docker 誕生的歷史
‧ Docker 是一個開源專案,誕生於 2013 年初。
‧ 基於 Google 推出的 Go 語言實作。
‧ Docker 專案的目標是實作輕量級的作業系統虛擬化解決方案。
‧目前最新版本為2015-02-03 釋出的 1.5.0
我才兩歲!?
圖解差異點
Docker 與傳統虛擬化技術的差異
傳統虛擬化技術
‧ 傳統虛擬架構每個虛擬客體裡都包含了一個作業系統。
‧ 由客體作業系統中架構新的執行環境。
‧ 由於只在硬體層實作共享,軟體層須重新加載整個作業系統,導致硬體資源不
必要的浪費。
Docker
‧ Docker 下的Container(概念等同一個虛擬客體) 由原生系統提供執行環境。
‧ Docker 的基礎是 Linux 容器(LXC)等技術。
‧ 執行環境由原生OS提供,藉由LXC技術動態加載所需的程式庫,故大量減少系
統虛擬化後的效能損耗。
Docker 的優點
除了效能上較傳統虛擬化技術為優外,Docker 還有以下的優點:
•快速的交付和部署
一次部屬,然後在任何地方執行!
•有效率的虛擬化
不需硬體層面的虛擬化支援,Docker 是核心面的虛擬化技術。
•簡單的管理
只需要小小的修改,就可以替代以往大量的更新工作。
基礎概念
Image(映像檔)、Container(容器)、Repository(倉庫)
倉庫
倉庫是集中存放映像檔檔案的場所。有時候會把倉庫和
倉庫註冊伺服器(Registry)混為一談,並不嚴格區分。
實際上,倉庫註冊伺服器上往往存放著多個倉庫,每個
倉庫中又包含了多個映像檔,每個映像檔有不同的標籤
(tag)。
倉庫分為公開倉庫(Public)和私有倉庫(Private)兩
種形式。
最大的公開倉庫是 Docker Hub,存放了數量龐大的映
像檔供使用者下載。
使用者也可以在本地網路內建立一個私有倉庫。
當使用者建立了自己的映像檔之後就可以使用 push 命
令將它上傳到公有或者私有倉庫,這樣下次在另外一台
機器上使用這個映像檔時候,只需要從倉庫上 pull 下來
就可以了。
*註:Docker 倉庫的概念跟 Git 類似,註冊伺服器可以
理解為 GitHub 這樣的託管服務。
映像檔
Docker 映像檔就是一個唯讀的模板。
例如:一個映像檔可以包含一個完整
的 ubuntu 作業系統環境,裡面僅安裝
了 Apache 或使用者需要的其它應用
程式。
映像檔可以用來建立 Docker 容器。
Docker 提供了一個很簡單的機制來建
立映像檔或者更新現有的映像檔,使
用者甚至可以直接從其他人那裡下載
一個已經做好的映像檔來直接使用。
容器
Docker 利用容器來執行應用。
容器是從映像檔建立的執行實例。它
可以被啟動、開始、停止、刪除。每
個容器都是相互隔離的、保證安全的
平台。
可以把容器看做是一個簡易版的 Linux
環境(包括root使用者權限、程式空間、
使用者空間和網路空間等)和在其中
執行的應用程式。
*註:映像檔是唯讀的,容器在啟動的
時候建立一層可寫層作為最上層。
實際體驗 Docker
目標
1. 從公共倉庫下載 wordpress ,mysql 兩個映像檔。
docker pull wordpress:latest , mysql:latest
2. 建立兩個容器, 並將為他們取上別命 myWP, myDB
docker run --name myDB -e MYSQL_ROOT_PASSWORD=1234 –d mysql
docker run --name myWP --link myDB:mysql -p 8080:80 -d wordpress
3. 關閉兩個容器,並重新執行它們
docker stop myWP
docker stop myDB
4. 在瀏覽窗口測試無誤,Done!

Weitere ähnliche Inhalte

Was ist angesagt?

Docker集群管理 工具篇
Docker集群管理 工具篇Docker集群管理 工具篇
Docker集群管理 工具篇Guangya Liu
 
20150604 docker 新手入門
20150604 docker 新手入門20150604 docker 新手入門
20150604 docker 新手入門azole Lai
 
Docker open stack
Docker open stackDocker open stack
Docker open stackGuangya Liu
 
Docker 淺入淺出
Docker 淺入淺出Docker 淺入淺出
Docker 淺入淺出Miles Chou
 
Rancher: 建立你的牧場艦隊
Rancher: 建立你的牧場艦隊Rancher: 建立你的牧場艦隊
Rancher: 建立你的牧場艦隊Miles Chou
 
Docker初识
Docker初识Docker初识
Docker初识hubugui
 
Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲
Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲
Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲ChinaNetCloud
 
Wot2013云计算架构师峰会 -陈轶飞2
Wot2013云计算架构师峰会 -陈轶飞2Wot2013云计算架构师峰会 -陈轶飞2
Wot2013云计算架构师峰会 -陈轶飞2dotCloud
 
AWS EC2 for beginner
AWS EC2 for beginnerAWS EC2 for beginner
AWS EC2 for beginnerazole Lai
 
Docker 最佳实践
Docker 最佳实践Docker 最佳实践
Docker 最佳实践YuLing Liu
 
從軟體開發角度
談 Docker 的應用
從軟體開發角度
談 Docker 的應用從軟體開發角度
談 Docker 的應用
從軟體開發角度
談 Docker 的應用謝 宗穎
 
docker intro
docker introdocker intro
docker introkoji lin
 
前端工程師一定要知道的 Docker 虛擬化容器技巧
前端工程師一定要知道的 Docker 虛擬化容器技巧前端工程師一定要知道的 Docker 虛擬化容器技巧
前端工程師一定要知道的 Docker 虛擬化容器技巧Chu-Siang Lai
 
容器式基礎架構介紹
容器式基礎架構介紹容器式基礎架構介紹
容器式基礎架構介紹Philip Zheng
 
Software Engineer Talk
Software Engineer TalkSoftware Engineer Talk
Software Engineer TalkLarry Cai
 

Was ist angesagt? (20)

Docker集群管理 工具篇
Docker集群管理 工具篇Docker集群管理 工具篇
Docker集群管理 工具篇
 
Docker應用
Docker應用Docker應用
Docker應用
 
20150604 docker 新手入門
20150604 docker 新手入門20150604 docker 新手入門
20150604 docker 新手入門
 
Docker open stack
Docker open stackDocker open stack
Docker open stack
 
Docker 淺入淺出
Docker 淺入淺出Docker 淺入淺出
Docker 淺入淺出
 
Rancher: 建立你的牧場艦隊
Rancher: 建立你的牧場艦隊Rancher: 建立你的牧場艦隊
Rancher: 建立你的牧場艦隊
 
Docker初识
Docker初识Docker初识
Docker初识
 
Docker 101
Docker 101Docker 101
Docker 101
 
Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲
Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲
Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲
 
Wot2013云计算架构师峰会 -陈轶飞2
Wot2013云计算架构师峰会 -陈轶飞2Wot2013云计算架构师峰会 -陈轶飞2
Wot2013云计算架构师峰会 -陈轶飞2
 
Docker
DockerDocker
Docker
 
AWS EC2 for beginner
AWS EC2 for beginnerAWS EC2 for beginner
AWS EC2 for beginner
 
Docker基礎
Docker基礎Docker基礎
Docker基礎
 
Docker 最佳实践
Docker 最佳实践Docker 最佳实践
Docker 最佳实践
 
從軟體開發角度
談 Docker 的應用
從軟體開發角度
談 Docker 的應用從軟體開發角度
談 Docker 的應用
從軟體開發角度
談 Docker 的應用
 
docker intro
docker introdocker intro
docker intro
 
Docker實務
Docker實務Docker實務
Docker實務
 
前端工程師一定要知道的 Docker 虛擬化容器技巧
前端工程師一定要知道的 Docker 虛擬化容器技巧前端工程師一定要知道的 Docker 虛擬化容器技巧
前端工程師一定要知道的 Docker 虛擬化容器技巧
 
容器式基礎架構介紹
容器式基礎架構介紹容器式基礎架構介紹
容器式基礎架構介紹
 
Software Engineer Talk
Software Engineer TalkSoftware Engineer Talk
Software Engineer Talk
 

Ähnlich wie Docker workshop

桃園市教育局Docker技術入門與實作
桃園市教育局Docker技術入門與實作桃園市教育局Docker技術入門與實作
桃園市教育局Docker技術入門與實作Philip Zheng
 
Docker
DockerDocker
DockerNCUDSC
 
Docker容器微服務 x WorkShop
Docker容器微服務 x WorkShopDocker容器微服務 x WorkShop
Docker容器微服務 x WorkShopPhilip Zheng
 
Docker技术介绍
Docker技术介绍Docker技术介绍
Docker技术介绍LI jeanphorn
 
美团点评技术沙龙14美团云-Docker平台
美团点评技术沙龙14美团云-Docker平台美团点评技术沙龙14美团云-Docker平台
美团点评技术沙龙14美团云-Docker平台美团点评技术团队
 
使用 Docker 建置 END OF LIFE 的 Ruby 開發環境
使用 Docker 建置 END OF LIFE 的 Ruby 開發環境使用 Docker 建置 END OF LIFE 的 Ruby 開發環境
使用 Docker 建置 END OF LIFE 的 Ruby 開發環境俊明 吳
 
Docker In-Depth
Docker In-DepthDocker In-Depth
Docker In-DepthDavid Hsu
 
Weic2015 docker
Weic2015 dockerWeic2015 docker
Weic2015 dockerRay Lin
 
99cloud openstack ci
99cloud openstack ci99cloud openstack ci
99cloud openstack ciLiang Bo
 
讓軟體開發與應用更自由 - 使用 Docker 技術
讓軟體開發與應用更自由 - 使用 Docker 技術讓軟體開發與應用更自由 - 使用 Docker 技術
讓軟體開發與應用更自由 - 使用 Docker 技術Yu Lung Shao
 
Hyper 基于hypervisor的docker引擎.pptx
Hyper 基于hypervisor的docker引擎.pptxHyper 基于hypervisor的docker引擎.pptx
Hyper 基于hypervisor的docker引擎.pptxXu Wang
 
Docker introduce and vs kernel virtual machine
Docker introduce and vs kernel virtual machineDocker introduce and vs kernel virtual machine
Docker introduce and vs kernel virtual machineyangkun9
 
Azure Container Registry(preview)x Web App On Linux(preview)
Azure Container Registry(preview)x Web App On Linux(preview)Azure Container Registry(preview)x Web App On Linux(preview)
Azure Container Registry(preview)x Web App On Linux(preview)Ch Rick
 
Flutter 踩雷心得
Flutter 踩雷心得Flutter 踩雷心得
Flutter 踩雷心得Weizhong Yang
 
企業導入容器經驗分享與開源技能培養
企業導入容器經驗分享與開源技能培養企業導入容器經驗分享與開源技能培養
企業導入容器經驗分享與開源技能培養Philip Zheng
 
Docker 基礎介紹與實戰
Docker 基礎介紹與實戰Docker 基礎介紹與實戰
Docker 基礎介紹與實戰Bo-Yi Wu
 
20170905 dev ops in hiiir
20170905 dev ops in hiiir20170905 dev ops in hiiir
20170905 dev ops in hiiirIsaac Tseng
 
快速上手 Windows Containers 容器技術 (Docker Taipei)
快速上手 Windows Containers 容器技術 (Docker Taipei)快速上手 Windows Containers 容器技術 (Docker Taipei)
快速上手 Windows Containers 容器技術 (Docker Taipei)Will Huang
 

Ähnlich wie Docker workshop (20)

桃園市教育局Docker技術入門與實作
桃園市教育局Docker技術入門與實作桃園市教育局Docker技術入門與實作
桃園市教育局Docker技術入門與實作
 
Docker
DockerDocker
Docker
 
Docker基礎
Docker基礎Docker基礎
Docker基礎
 
Docker容器微服務 x WorkShop
Docker容器微服務 x WorkShopDocker容器微服務 x WorkShop
Docker容器微服務 x WorkShop
 
Docker技术介绍
Docker技术介绍Docker技术介绍
Docker技术介绍
 
美团点评技术沙龙14美团云-Docker平台
美团点评技术沙龙14美团云-Docker平台美团点评技术沙龙14美团云-Docker平台
美团点评技术沙龙14美团云-Docker平台
 
使用 Docker 建置 END OF LIFE 的 Ruby 開發環境
使用 Docker 建置 END OF LIFE 的 Ruby 開發環境使用 Docker 建置 END OF LIFE 的 Ruby 開發環境
使用 Docker 建置 END OF LIFE 的 Ruby 開發環境
 
Docker In-Depth
Docker In-DepthDocker In-Depth
Docker In-Depth
 
Weic2015 docker
Weic2015 dockerWeic2015 docker
Weic2015 docker
 
99cloud openstack ci
99cloud openstack ci99cloud openstack ci
99cloud openstack ci
 
讓軟體開發與應用更自由 - 使用 Docker 技術
讓軟體開發與應用更自由 - 使用 Docker 技術讓軟體開發與應用更自由 - 使用 Docker 技術
讓軟體開發與應用更自由 - 使用 Docker 技術
 
Hyper 基于hypervisor的docker引擎.pptx
Hyper 基于hypervisor的docker引擎.pptxHyper 基于hypervisor的docker引擎.pptx
Hyper 基于hypervisor的docker引擎.pptx
 
Docker introduce and vs kernel virtual machine
Docker introduce and vs kernel virtual machineDocker introduce and vs kernel virtual machine
Docker introduce and vs kernel virtual machine
 
Azure Container Registry(preview)x Web App On Linux(preview)
Azure Container Registry(preview)x Web App On Linux(preview)Azure Container Registry(preview)x Web App On Linux(preview)
Azure Container Registry(preview)x Web App On Linux(preview)
 
Flutter 踩雷心得
Flutter 踩雷心得Flutter 踩雷心得
Flutter 踩雷心得
 
企業導入容器經驗分享與開源技能培養
企業導入容器經驗分享與開源技能培養企業導入容器經驗分享與開源技能培養
企業導入容器經驗分享與開源技能培養
 
Docker 基礎介紹與實戰
Docker 基礎介紹與實戰Docker 基礎介紹與實戰
Docker 基礎介紹與實戰
 
20170905 dev ops in hiiir
20170905 dev ops in hiiir20170905 dev ops in hiiir
20170905 dev ops in hiiir
 
Linking error
Linking errorLinking error
Linking error
 
快速上手 Windows Containers 容器技術 (Docker Taipei)
快速上手 Windows Containers 容器技術 (Docker Taipei)快速上手 Windows Containers 容器技術 (Docker Taipei)
快速上手 Windows Containers 容器技術 (Docker Taipei)
 

Docker workshop