weic2015 docker

32
DOCKER INTRODUCTION WEIC 2015 Ray Lin 進來問問題吧 https://tlk.io/weic2015

Upload: ray-lin

Post on 28-Jul-2015

119 views

Category:

Education


4 download

TRANSCRIPT

Page 1: Weic2015 docker

DOCKERINTRODUCTION

WEIC 2015Ray Lin

進來問問題吧 https://tlk.io/weic2015

Page 2: Weic2015 docker

/ME {

Name : Ray Lin, B.S. : CCU MIS102, M.S. : NTHU ISA - System Software Lab, Position : [

Student,Prospective front-end engineer of Mozilla

] }

Page 3: Weic2015 docker

1分鐘快速調查• 有⼈人了解或曾聽過 ___________ ?

• 軟體⼯工程 - e.g. CI, CD …

• 雲端(計算) - e.g. IaaS, PaaS, SaaS …

• 虛擬(化)機 - e.g. VMWare, VirtualBox …

• Docker

Page 4: Weic2015 docker

⼤大綱• 認識 Docker

• Docker 與 雲端

• Docker 可以怎麼幫助學⽣生的你

• DEMO

• Docker 安裝 / 基本操作

• Q & A

Page 5: Weic2015 docker

認識 DOCKER

Page 6: Weic2015 docker

BUILD, SHIP AND RUN ANY APP, ANY WHERE

Page 7: Weic2015 docker

來⾃自地獄的矩陣

Page 8: Weic2015 docker

類⽐比⽣生活中的例⼦子

Page 9: Weic2015 docker

回到地獄的矩陣

Page 10: Weic2015 docker

認識 DOCKER • Docker is an open platform for developers and sysadmins to build,

ship, and run distributed applications.

• 容器(Container)為基礎,輕量的虛擬化 (?)

• 120⼈人公司,但拿了 $95M D輪投資

• Github 20k 以上的 star 數

• ⼤大家都拿他來跟 Virtual Machine ⽐比較

• Written in Golang but Linux Only (Current)

Page 11: Weic2015 docker

DOCKER V.S. VM

Server

Host OS

Docker Engine

Bins / Libs

App A

Server

Host OS

Hypervisor

Guest OS Guest OS

Bins / Libs Bins / Libs

App A App B

Bins / Libs

App CApp B

Docker VM

Page 12: Weic2015 docker

DOCKER 的魔法• Layered Filesystem - 分層式檔案系統

• Image - 唯獨 / 便攜 有如映像檔

• Repository - 公/私集中式 Image 管理

• Container - Linux 虛擬化的 Tricks

• LXC / cgroup / namespace / chroot

• 將所有東⻄西整合起來的魅⼒力......

Page 13: Weic2015 docker

DOCKER HUB

Page 14: Weic2015 docker

DOCKER HUB

• Git 想到 Github , Docker 也要想到 Docker Hub

• 集中式的 Image 管理服務

• 版本管理 (tag)

• 社群⼒力量

Page 15: Weic2015 docker

印象 > 抽象

Page 16: Weic2015 docker

DOCKER 與 雲端

Page 17: Weic2015 docker

雲端基本特徵• 隨需應變⾃自助服務

• 隨時隨地⽤用任何網路裝置存取

• 多⼈人共享資源池

• 快速重新部署靈活度

• 可被監控與量測的服務

• 基於虛擬化技術快速部署資源或獲得服務

• 減少⽤用⼾戶終端的處理負擔

• 降低了⽤用⼾戶對於IT專業知識的依賴

Page 18: Weic2015 docker

為 DOCKER ⽽而⽣生的 OS

• CoreOS

• Atomic

• Snappy

• Photon

Page 19: Weic2015 docker

DOCKER 叢集管理⼯工具

• Kubernetes (by Google)

• shipyard

• swarm (by Docker)

• origin (by RedHat)

Page 20: Weic2015 docker

對雲端的衝擊• Google / Microsoft 擁抱 Docker

• Microsoft 積極搶攻 Docker 在 Windows 的⽀支援度

• OpenStack 增加 Docker ⽀支援

• 更多衝擊正在產⽣生中....

Page 21: Weic2015 docker

DOCKER 可以怎麼幫助還是學⽣生的你?

Page 22: Weic2015 docker

從切⽣生⿂魚⽚片開始

Page 23: Weic2015 docker

開發環境 / ⼤大⼀一⼆二• 那些被 版本 惡搞的⽇日⼦子

• gcc /JRE / PHP

• ⼀一台機器如何裝兩個版本的 JRE / gcc/ MySQL 呢?

• ⼤大⼆二那年吳凡⽼老師的 Java 作業...

• os: 真他x的難啊

Page 24: Weic2015 docker

整合與部署 / ⼤大三四• ⼀一起 合作 專題的⽇日⼦子

• 你的 code / 我的環境 / 學校的機器

• 兩個⼩小故事

• 模組分⼯工合作

• 展覽部署

Page 25: Weic2015 docker

擴充與⾼高可⽤用性 / 碩⼠士UP

• 當服務不再是玩具

• 穩定 / ⾼高負載 / ⾼高可⽤用 / 災難回復 / 故障轉移

• ⽼老闆的幻想

Page 26: Weic2015 docker

Page 27: Weic2015 docker

Q & A

Page 28: Weic2015 docker

DOCKER 安裝 / 基本操作• 推薦使⽤用 Ubuntu 14.04 以上

• ⼀一條指令:

• $ wget -qO- https://get.docker.com/ | sh

• 其他 Distri 也可以裝.Mac / Windows 有 DVM / Boot2Docker 可⽤用

Page 29: Weic2015 docker

DOCKER PULL / RUN• 從 Docker Hub 上抓取現有的 Image ⾄至 Local

• $ docker pull [OPTIONS] NAME[:TAG|@DIGEST]

• 起動 Local 的 Image

• $ docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

Page 30: Weic2015 docker

DOCKER BUILD• 幾個 Instructions

• ENV / ADD/ COPY / WORKDIR / EXPOSE/ VOLUME / USER

• ENTRYPOINT / CMD

• 稍微複雜⼀一點... 直接看 DEMO 吧

Page 31: Weic2015 docker

DOCKER SAVE / LOAD

• 將存在 Local 的 Image 匯出成壓縮檔

• docker save [OPTIONS] IMAGE [IMAGE…]

• 將壓縮檔 匯⼊入

• docker load [OPTIONS]

Page 32: Weic2015 docker

Q & A