fbpx

Docker – 最熱門的容器開源技術

Mirantis Docekr

Docker – 迅速建立最自由容器的管理工具

Mirantis Cloud Native Platform (前稱為 Docker Enterprise Edition / Docker-EE)提供企業組織佈署關鍵系統的高彈性整合平台,透過 Docker 容器映像檔 (image) 開發與維運團隊可以在任何基礎平台上,安全有效率地建構、佈署、維運任何應用系統,免受限於底層硬體平台架構的綁定。

容器是將應用程式代碼及其運行時所需的項目打包的標準單位,因此應用程式可以在不同環境間快速可靠地移轉。Docker 映像檔是輕量、獨立、可執行的服務,它包含運行應用程式所需的一切:代碼、系統工具、系統資源庫和設定等,容器將應用程式與其環境隔離開來,不論基礎架構如何、開發和實作環境存在差異,軟體仍可以正常運行。

透過導入 Mirantis Cloud Native Platform (Docker-EE),您將可隨時移轉應用系統,無論是在實體環境、虛擬與雲端平台,皆可輕鬆自由移轉,並享有內建的高可用性 (High Availability)、負載平衡 (Load Balancing)、動態服務擴展 (Scaling)、服務獨立運作與隔離 (Service Isolation)、安全性強化 (Image Vulnerability Scanning & Signature)、無作業系統 (Operation System-less) 等諸多優勢,並且節省總體研發與維運支出成本。

Mirantis Docekr

FEATURE

整合自動化程序,協助用戶降低開發週期與維運人員負載

FEATURE

Mirantis Kubernetes Engine​ 掌握所有容器服務的狀態與安全性,輕鬆建立與調度應用服務

FEATURE

Docker 在開發者/維運者、軟體/基礎設施間,設計了關注點分離機制,有利於開發創新

FEATURE

內建容器簽署、容器弱點安全性檢查功能,軟體發佈過程更為安全

FEATURE

永遠擺脫「限定運作環境」的傳統困擾,提供跨本地/虛擬化/雲端動態佈署的自由度

探索 Docker

Mirantis Cloud Native Platform (Docker-EE)​

為什麼要用 Docker ?

在任何地方建立、傳送、運行所有程式

Forrester New Wave™ 在 2018 年的企業級容器平台報告中,將 Mirantis Cloud Native Platform (Docker-EE) 評為業界的領導者,認為其「以適合企業的強大容器平台領先業界」。Mirantis Cloud Native Platform (Docker-EE) 已針對多個 Linux 發行版本、微軟 Windows Server 等作業系統、雲端平台服務供應商等,進行優化並受到相關認證。在 Mirantis Container Runtime (MCR, 前稱為Docker Engine) 上運行的 Docker 容器具有以下特色:

  • 標準:Docker 創建了容器的行業標準,因此它們可以在任何地方移植
  • 輕巧:容器共享主機的系統效能,因此不需要每個應用程式都具有作業系統,從而提高了服務效率並降低伺服器和授權成本
  • 安全:應用程式在容器中更安全,Docker 提供了業界最強大的預設隔離功能 (Default Isolation Capabilities)

Mirantis Kubernetes Engine

企業級 Mirantis 叢集管理界面解決方案
Mirantis Kubernetes Engine (前稱為 Docker-EE UCP, 以下簡稱 MKE),可以將多達數千個實體機或虛擬機連接在一起,以創建一個容器集群,從而大規模部署應用程式。
 
MKE 是 Mirantis 提供的企業級集群管理解決方案,對 Windows、Linux 與大型主機的容器服務進行管理。將其安裝在本地或虛擬私有雲中,從單一網頁界面管理全系統的所有功能,將 Docker 環境中的功能 — 用戶、程式容器、服務、網路、硬碟空間、節點 — 整合到同一個圖形用戶界面,讓您查看全叢集到單一容器的監控表,使管理和監視集群變得容易。
 
Mirantis Kubernetes Engine 內建身份驗證機制,並整合 LDAP 服務,它還具有基於角色的訪問控制(RBAC),因此您可以控制、更改誰可以訪問集群和應用程式。MKE 與Mirantis Secure Registry (MSR) 整合在一起,您可以用防火牆保護用於應用程式的映像檔,以確保安全並且不會被篡改;您還可以實施安全策略,僅允許運行已知且信任的應用程式映像檔。

Mirantis Secure Registry​

企業私有的 Docker 映像檔套件庫

Mirantis Secure Registry (前稱為 Docker-EE DTR, 以下簡稱 MSR),MSR 是 Mirantis (Docker-EE) 提供的私有套件庫解決方案,用作持續整合和持續交付過程的一部分,以建置、交付和運行應用程式。除了可以安全地存放和管理映像檔,更具備套件庫存取權管控、映像檔掃描、映像檔的版本管理與後設資料等眾多功能,滿足企業的各種需求。

映像檔和工作管理

MSR 具有 Web 用戶介面,擁有授權的用戶可以瀏覽 Docker image 並查看儲存庫事件,甚至可以查看使用了哪些 Dockerfile 來生成映像檔。如果啟用安全掃描,則可以查看映像檔中安裝的軟體列表。此外,也可以在 Web 介面上查看和審核作業。

內建存取控制
MSR 使用與 MKE 相同的身份驗證機制,可以手動管理用戶,也可以從 LDAP 或 Active Directory 同步用戶。 MSR 使用角色存取控制 (RBAC) 來允許您為 Docker image 實施最細緻的存取控制策略。
高可用性
MSR 的可用性很高,利用所有容器和元數據的副本,如果主機故障 MSR 仍可以繼續運行及修復。
安全掃描
MSR 具有內建的安全掃描程序,可用於確認映像檔中使用了什麼版本的軟體。逐層掃描後彙總結果,使您對傳遞中的服務有完整的了解。最重要的是,該訊息與漏洞資料庫相關聯,該漏洞資料庫會定期更新保持最新狀態,讓您避開所有已知的安全威脅。
高效
MSR 能夠將映像檔緩存到更靠近用戶的位置,以減少提取 Docker image 時使用的頻寬。

Kubernetes 支援

Mirantis (Docker-EE)​ 同時支援 Swarm 與 Kubernetes,讓現有基於 Kubernetes 的系統,無縫移植到企業版平台,輕鬆享受企業版的眾多功能
什麼是 Kubernetes ?

Kubernetes 是一個用於自動化管理、部署、彈性擴充和管理容器的開源編排系統,近年來已在開發人員和IT營運團隊中流行。它最初由 Google 開發,並在 2014 年開源,現在由 Cloud Native Computing Foundation 維護。Kubernetes 有活躍的社區和生態系統,以及成千上萬的貢獻者和數十個認證合作夥伴。

支援 KUBERNETES 的桌面版應用程式

Docker Desktop 是適用於 MacOS 和 Windows 主機的應用程式,用於建構和共享容器化的應用程式和微服務,Docker Desktop 提供了設計和交付這些容器化應用程式所需的速度、彈性和安全性。Docker Desktop 包括 Docker App、開發工具、Kubernetes 以及與 Docker 引擎同步的版本。

Docker Desktop 允許您利用通過認證的映像檔和模板,以及自選的語言和工具;開發流程中則可利用 Docker Hub 將您的開發環境擴展到安全的儲存庫,以進行快速自動構建、持續整合和安全協作。

Docker Hub

取得官方認證的容器映像檔

Docker 官方認證的市集,內有官方認證的擴充套件與容器,提供企業生產環境的品質保證。

Docker Hub 的目標是將 Docker 社群和合作夥伴聚集在一起,為 ISV 提供可擴展的自助服務系統,以發佈值得信任、經過驗證且適合企業使用的內容。Docker Hub 確保發佈的軟體的品質,包含安全性掃描、組件清單、開源使用的授權以及映像檔的最佳用法。

  • 官方認證的合作夥伴提供的容器映像檔
  • 官方認證的網路/儲存空間擴充模組
  • 官方認證的基礎平台驅動程式,在企業版作業系統與公有雲提供最佳化的 Docker 平台

關於 Docker 你可能想問

社群版 (CE):目前市面上的 Docker CE 版本為 Edge 和 Stable。Edge 版本包含 Docker 版本功能開發過程中最新的功能與修正,因此採用 Edge 版本可體驗最新 Docker 版本相關功能,但也可能因新功能仍然存在軟體缺陷(defects),因此建議僅用於開發環境。

而 Stable 版本,顧名思義是相對於穩定版本,其相關功能已穩定,會有較少的軟體缺陷。無論是哪個軟體與版本,都可能仍然存在潛在的資訊安全問題與漏洞,因此請盡可能地保持軟體更新。

企業版 (EE):Docker 企業版亦稱作為 Docker EE,即社群版的付費版本,目前 Docker EE 已由全球知名大廠 Mirantis 併購,因此 Docker EE 版本又稱 Mirantis Container Runtime(MCR)。

在 Mirantis 併購了 Docker 後,仍保留部分 Docker 原本在社群上的貢獻,Mirantis 仍然與 Docker 社群保持著相當好的合作夥伴關係,比如共同開發 cri-docker 專案(mirantis/cri-dockerd)等,以及 decker desktop、Lens IDE 等工具,更便於整體 Kubernetes 生態管理。 

商業版的 Docker EE(Mirantis Container Runtime, MCR),可在 Docker 引擎上運行商業版本 Kubernetes(Kubernetes on Docker 層,並非 Kubernetes on Host 層)客戶能藉由原廠技術團隊,處理產品的各項疑難雜症。

想了解更多,請參考:Welcome to the Mirantis Store

 

同樣是虛擬化技術,但兩者概念全然不同。Docker Container 是更為輕量、可攜、便於移植與佈署混合雲的,它相較於傳統 VM 更聚焦於應用程式層級。

Docker container 不需要完整的作業系統以支持 AP 運作,但 VM 通常都要安裝一個完整的作業系統,導致更為複雜且龐大。目前所有的微服務(Micro services)開發,都是基於容器化,它是目前當代最流行的應用程式架構之一,無論是各個公有雲提供商,包含了 GCP、AWS、Azure 或是中國內地阿里雲、騰訊雲等,都可以運行 Docker Container 容器,並且提供了容器調度平台 Kubernetes 作為自動調度管理服務。

若您需在一台伺服器上操作多個尚未容器化的應用程式,或應用程式需要前端(Front end) UI 倚賴著作業系統層,那麼 VM 便會是您最好的選擇;但如果您的首要目標是在最少的伺服器上操作最多應用程式,強調彈性可擴增、分散式運算、輕量化與可攜,那麼容器化則是您最佳選擇,容器化中發展最成熟的 Docker Container 便會是您的首選。

我們可以想像一下,Container 在生活中就等同於貨櫃,而貨櫃可以變成集裝箱,並且裝載在船上,透過船運可以跨大海運行在世界各地。

Container 在 IT 領域,是取其意義,意旨打包 AP code (代碼)及所有相依性套件的標準軟體單元,它能集裝所有代碼和相依性組件,在一個容器裡面,讓應用程式(application)能夠快速並在另一個計算環境中穩定運作,並且與其他應用程式環境完全獨立隔離,不互相影響。

這些被封裝後的容器如同貨櫃一樣,可以被運送到世界各地而便利運行,意指其可運行於地端無論是 VM 中、實體機,或是公有雲廠商等。Docker container image 是一個輕量級、獨立和可執行的套裝軟體,並且包含應用程式運行時所需的代碼(code)、runtime、系統工具(system tools) 以及系統函式庫。我們甚至會將一個完整的服務,拆散成許多小型的服務包裝於容器運作,而這些容器可以分散地運行於一個集群的不同硬體中,這樣的架構我們稱作微服務的分散式架構,這裡的集群,指的就是 Kubernetes 集群。

想了解更多,請參考:What is container?

想了解更多 Docker 資訊嗎?
歡迎與我們聯繫,由專人為您服務