Skip to main content

Docker 為什麼需要

為什麼要用 Docker

  • 更快速的交付和部署
    • 可以讓應用程式開發完成後,能在任意的主機電腦上正常執行
  • 更有效率的虛擬化
    • 是在作業系統核心層級之上的虛擬化,能更有效地利用運算資源
  • 更輕鬆的遷移和擴展
    • 幾乎能在任意的平台上執行,這種兼容性可以再多個平台直接遷移
  • 更簡單的管理
    • 使用指令可中央化管理應用程式的調度、分發與更新,從而實作自動化

Docker 概念

Docker 是一種軟體平台,可讓您快速地建立、測試和部署應用程式。Docker 將軟體封裝到名為容器的標準化單位,其中包含程式庫、系統工具、程式碼和執行時間等執行軟體所需的所有項目。

使用 Docker,您可以將應用程式快速地部署到各種環境並加以擴展,而且知道程式碼可以執行

容器概念

Docker 利用容器來執行應用。容器是從映像檔建立的執行實例。它可以被啟動、開始、停止、刪除。每個容器都是相互隔離的、保證安全的平台。

可以把容器看做是一個簡易版的 Linux 環境( 包括 root 使用者權限、程式空間、使用者空間和網路空間等)和在其中執行的應用程式

Virtual Machine 和 Docker 比較

cotainer.png)

Virtual Machine (VM)Docker 容器
啟動作業系統 OS (數 GB 大小)映像檔 Image (數 MB 大小)
啟動時間數分鐘數秒
佔用硬碟至少 8GB可小至數 MB
一台主機(伺服器)可建立1 至數十台 VM1 至上千個容器

不過 Docker 和 VM 可以搭配的拿來使用,像是雲端的主機都經過虛擬化,建立 VM 來區隔環境,確保不同的雲端用戶使用時是互相隔離。最有名的 VM 服務就是 AWS 的 EC2,能確保用戶不會存取到彼此的資料與使用到其他人的資源,像是 CPU 與 Memory。而在 VM 之上還是能建立 Docker container 來幫助管理應用程式i。