使用Docker
30秒生出100台伺服器
https://www.docker.com/
By 黃升煌
什麼是Docker?
什麼是Docker?
• Docker是一個開放原始碼軟體專案,讓應用程式布署在軟體容器下的工作可以自
動化進行,藉此在Linux作業系統上,提供一個額外的軟體抽象層,以及作業系統
層虛擬化的自動管理機制
 https://zh.wikipedia.org/wiki/Docker_%28%E8%BB%9F%E9%AB%94%29
• 簡單的說就是,作業系統層級的虛擬化!
3
4
建立多個虛擬OS,
較不方便且浪費系統資源
只有一個OS,虛擬不同的獨立程式
相互不影響且節省系統資源
Why Docker?
Why Docker?
• 虛擬化效率高,啟用一個VM要1分鐘,啟用一個docker container不用一秒鐘
• 更容易交付與部署系統
• 更容易進行系統移轉
• containers彼此資源獨立,容易抽換
• 容易自動化
• 使用Dockerfile(文字檔)建立image,方便進行版控與溝通
• 上萬個images可以直接使用─Docker Hub https://hub.docker.com/
• 也可架設私有的repository
6
Docker基本指令
常用Docker指令
docker pull
docker images
docker run
docker ps
docker commit
docker build
…
….
…..
8
DEMO
時間有限,講一堆指令原理不如立刻來看看DEMO
DEMO
• https://github.com/wellwind/NccuCcDockerLabs
 在Ubuntu上安裝Docker
 HelloWorld
 建立自己的Docker image
 執行多個Apache container
 30秒建立100個Apache
 模擬正式/測試執行環境
10
Docker Toolbox
Docker Toolbox
• Docker Toolbox
 https://www.docker.com/products/docker-toolbox
 官方產品
 在Windows上跑一個很小的Linux VM(使用Virtual Box)
 透過工具幫你在這個VM上建立docker container
12
Q&A
Docker Windows Image?
• Windows 2016(目前preview中)
 https://msdn.microsoft.com/zh-
tw/virtualization/windowscontainers/quick_start/manage_docker
14

Docker - 30秒生出100台伺服器