今天出去面試,來不及做一個進階專案,就先來個閱讀補充知識吧!
| 常見用途 | 解釋原因 | 
|---|---|
| 本地開發 | 使用 Docker 啟動前後端,可以不影響到本機環境 | 
| 測試 CI/CD | 自動化測試每次都跑在一致環境中 | 
| 部署上線 | 例如用 Docker 部署 FastAPI(之後來做這個) | 
Docker 是甚麼就不用多說了吧,那我們來聊一下 Kubernetes 又是甚麼!
Kubernetes 又叫做(k8s),因為k跟s之間有八個字母。Kubernetes 是 Google 發明的容器管理平台,主要來協助完成自動化部署以及管理容器,跟做一些 Docker 做不到的事。
| 功能 | Kubernetes | Docker | 
|---|---|---|
| 自動決定哪台伺服器跑哪個容器 | v | x | 
| 依使用量自動加機器、加容器 | v | x | 
| 容器間的 DNS 名稱自動設定 | v | x | 
| 程式掛掉自動重啟 | v | x | 
| 負載平衡 | v | x | 
| 管理單一容器 | v | v | 
| 管理上百個容器 | v | x | 
| 自動水平擴展 | v | x | 
| 運行環境 | 多機(cluster) | 單機伺服器 | 
| 難度 | 較困難(但功能很強大) | 較容易上手 | 
結論:Docker 幫你做容器,Kubernetes 幫你管很多容器。
用 Docker 是為了方便移植與相同環境,用 Kubernetes 是為了部署到雲端的穩定性與可擴展性。
| 平台 | 說明 | 
|---|---|
| Docker | 最常見容器引擎,開發 & 部署標配 | 
| Podman | RedHat 系統取代 Docker 的新選擇 | 
| containerd | Docker 背後實際在跑容器的東西 | 
| CRI-O | Kubernetes 官方推薦的容器運行環境 | 
| LXC / LXD | 更靠近虛擬機的容器技術 | 
| systemd-nspawn | 比較特殊,做系統級容器 | 
今天就先這樣了...bye
[上一篇]  Day3