Docker 基本使用

最近很紅的 Container 技術 Docker,來試玩看看,寫個筆記。

什麼是 Docker ?

Docker 可以做什麼?

Containers vs Virtual Machine

container.png

特性 Containers Virtual Machines
啟動 秒級 分鐘級
硬碟容量 一般為 MB 一般為 GB
效能 接近原生 比較慢
系統支援量 單機支援上千個容器 一般幾十個

基本概念

workflow.png

與 Git Vagrant 的相似處

Docker Git Vagrant
Image (映像檔) git log Vagrant Box
Container (容器) staging Running VM
Registry (倉庫) GitHub VagrantCloud

Image 映像檔

映像檔是一個唯讀的模板,可以用來建立容器,也可以從倉庫 pull 做好的映像檔來使用。

Container 容器

Docker 利用容器執行應用,從映像檔建立的執行實例。它可以被啟動、開始、停止、刪除。每個容器都是相互隔離的、保證安全的平台。

Registry 倉庫

倉庫是集中存放映像檔檔案的場所,公開倉庫(Public)和私有倉庫(Private)兩種形式。最大的公開倉庫是 Docker Hub,存放了數量龐大的映像檔供使用者下載。使用者也可以在本地網路內建立一個私有倉庫。

Installation

參考官方文件,Windows 10 或 Mac 10.11 版本以上可以直接安裝,以下的版本可能要安裝 Docker Toolbox,用 VM 模擬 Docker 所需的環境。

用 VM 架環境,本地端 IP 可能就不是 localhost,要用 docker-machine ip 查看 ip

Command

後記

Docker 是一個很強大的工具,能運用的方法非常多,這邊只有寫一些基本的用法。最近 Docekr 被改成 Moby,之間的關西搞得我好亂阿!之後有空再深入學習吧。

References