Docker導學與初體驗
阿新 • • 發佈:2018-11-10
一.Docker導學
1.到底什麼是Docker
- Docker是容器
- Virtual Machine虛擬機器通過在當前系統上安裝其他系統從而使對應的APP隔離;容器是安裝在當前系統上,可以直接對APP進行隔離
2.Docker能幹什麼
- 簡化配置:原始碼、執行環境及配置都打包到容器中,容器可以執行在不同環境中
- 程式碼流水線管理
- 提高開發效率
- 隔離應用
- 整合伺服器
- 除錯能力
- 多租戶
- 快速部署
3.容器時代的“雙城記”
- Docker:容器技術的一種實現
- kubernetes【簡稱:k8s】:容器編排工具,對容器建立、管理、排程、運維等等。【Docker內建容器編排工具:Docker Swarm】
二.容器技術概述
1.最早的開發和部署問題
- 部署非常慢
- 成本非常高
- 資源浪費
- 難於遷移和擴充套件
- 可能會被限定硬體廠商
2.虛擬化的技術出現後
- 一個物理機可以部署多個app
- 每個app獨立執行在一個VM裡
- 優點
- 資源池:一個物理機的資源分配到不同的虛擬機器裡
- 很容易擴充套件:加物理機器or加虛擬機器
- 很容易雲化——亞馬遜AWS,阿里雲等
- 侷限性
- 每一個虛擬機器都是一個完整的作業系統,要給其分配資源,當虛擬機器數量增多時,作業系統本身消耗的資源勢必增多
3.容器解決了什麼問題
- 提供APP打包成容器,可以執行在不同的環境中
- 解決了開發和運維之間的矛盾【測試環境和開發環境】
- 在開發和運維之間搭建了一個橋樑,是實現devops的最佳解決方案
4.什麼是容器
-
對軟體和其依賴的標準化打包
-
應用之間相互隔離
-
共享同一個OS Kernel
-
可以執行在很多主流作業系統上
三.Docker魅力初體驗
1.WordPress
- WordPress是開源免費的部落格網站
2.使用Docker快速安裝WordPress
- docker-compose.yml檔案定義APP的環境資訊
- 使用
docker-compose build
命令進行構建 - 使用
docker-compose up
命令進行相關APP的安裝與服務啟動