1. 程式人生 > >Docker導學與初體驗

Docker導學與初體驗

一.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的安裝與服務啟動