Docker筆記part1
•
Rick Chen
What is Docker?
- 一個可隔離資料跟程式的工具。
- 可以想像成一個巨大的櫃子分成若干個置物櫃。
- 在OS上乘載 Docker Engine,在其上面運行容器。
- Docker會完全隔離容器,底層Linux系統的外殼部分無法接收容器中的程式命令。
- Docker Container 也可連接時替主機磁碟來讀寫資料
限制
- 實體主機需要Linux系統功能
- 容器中的程式需為Linux版的程式
伺服器可分為兩類
- 功能伺服器: 提供特定功能的伺服器 ex: mail server, http server。
- 實體伺服器: 就是電腦。
- 實體伺服器內可能包含一或多於一個功能伺服器。
Dcker vs VirtualBox&&VMWare
- VB和VM都是透過虛擬化技術去模擬OS與電腦。
- Docker上的OS只是類作業系統,會將部分功能交給實際的OS去處理,減少佔據的資源。
- 此外Docker可以無視實體環境的差異、伺服器的結構差異。
Docker Hub
- 官方提供的Docker Registy,每個人都可以輕鬆利用
Docker的生命週期
- 一般來說我們會在docker engine底下執行多個container,不可能一一更新眾多的容器,通常都會直接建立一個新的容器。
Containner LifeCycle
- Create —> activate —> deactivate —> abandon = LifeCycle
Dokcer優缺點
特色
- 可隔離容器
- 向全員提供一致開發環境
- 方便測試新版本
- 容易建置多個相同伺服器
優點
- 一台主機可乘載多個伺服器(可相同也可不同)
- 容易管理伺服器
- 非伺服器專家也容易操作
缺點
- 對主機依賴性高
- 長期使用單一容器無法展現優勢,反而多餘