Docker 基本概念
- 映像檔(Image)
Docker 映像檔是一個模板,用來重複產生容器。一個映像檔可以包含完整的服務、編譯環境、或是作業系統。 - 容器(Container)
容器就像是用蛋糕模板烤出來的蛋糕本體,容器是用映像檔建立出來的實體。它可以被啟動、開始、停止、刪除。每個容器都是相互隔離。 - 倉庫(Repository)
映像檔 Image - 倉庫是集中存放映像檔的地方。倉庫可分為公開倉庫和私有倉庫。官方公開倉庫是 Docker Hub,存放了數量龐大的映像檔供使用者下載
安裝 Docker DeskTop
將檔案下載安裝即可
Docker教學
Docker Public Registry 公有倉庫
虛擬機與容器差異 (vm vs container)
虛擬機 - Virtual Machine
Hypervisor 管理服務 - VirtualBox
- 每個 應用程式 有獨立的作業系統與環境
- 管理 Host 的資源 (CPU、RAM、Storage) 並分配於各 VM 快照
- 透過 Hypervisor 去管理各自的 VM 快照
- 有介面操作
- 啟動速度以分鐘為單位
- 一個 VM 快照 大小通常 GB
容器 - Container
常見的 image 封裝工具 - Docker
- 讓應用程式具有相同的封裝、啟動、存取
- 無介面操作
- 啟動速度以秒為單位
- 一個 image 映像檔大小通常 MB
Container 管理服務 -
- Docker Compose - 管理多組 container 在單台機器下可管理 - 入門
- Kubernetes - 管理多組 container 與 不同機器跨度管理 container - 進階
在這麼多優勢的情境下Container的應用也在近幾年蓬勃發展,其中最著名的就是Docker,在近幾年下Docker變成需要了解的知識。