什麼是 Docker?

使用 Docker 可快速建立、測試和部署應用程式

概觀

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

在 AWS 上執行 Docker 可讓開發人員和管理員以高度可靠且低成本的方式建立、發佈和執行各種規模的分散式應用程式。

最新公告:Docker 與 AWS 攜手協助開發人員加速將現代應用程式交付至雲端。這項合作可協助開發人員使用 Docker Compose 和 Docker Desktop 來利用他們今天使用的相同本機工作流程,以在 Amazon ECS 和 AWS Fargate 上無縫部署應用程式。如需詳細資訊,請參閱部落格

Docker 的運作方式

Docker 透過提供執行程式碼的標準方法進行運作。Docker 是容器的作業系統。與虛擬機器虛擬化 (免除直接管理的需要) 伺服器硬體的方法相似,容器可虛擬化伺服器的作業系統。Docker 安裝在每部伺服器上,並提供簡單的命令讓您使用以建立、啟動或停止容器。

AWS FargateAmazon ECSAmazon EKSAWS Batch 等 AWS 服務可輕鬆執行和管理大規模的 Docker 容器。

Docker 的運作方式

使用 Docker 的原因

使用 Docker 可快速交付程式碼、標準化應用程式操作、無縫移動程式碼,以及透過提高資源使用率節省成本。您可以使用 Docker 獲得能夠隨處可靠執行的單一物件。Docker 簡單易懂的語法還能為您提供完整的控制權。廣泛採用代表有穩固的工具和立即可用應用程式生態系統隨時可供 Docker 使用。

更快地發佈更多軟體

Docker 使用者發佈軟體的頻率比非 Docker 使用者平均高出 7 倍。Docker 可讓您視需要頻繁地交付單獨的服務。

標準化操作

小型的容器化應用程式可讓使用者輕鬆部署、發現問題,並透過復原來補救。

無縫移動

以 Docker 為基礎的應用程式可以從本機開發機器無縫地遷移到 AWS 上的生產部署。

節省資金

Docker 容器可讓您在每部伺服器上輕鬆執行更多程式碼,以提升使用率和節省資金。

使用 Docker 的時機

您可以使用 Docker 容器做為建立現代應用程式和平台的核心建置區塊。Docker 可讓您輕鬆建立和執行分散式微型服務架構、使用標準化的持續整合和交付管道部署程式碼、建立可高度擴展的資料處理系統,以及為開發人員建立全受管平台。AWS 和 Docker 之間最近的這項合作可讓您更輕鬆地將 Docker Compose 成品部署到 Amazon ECS 和 AWS Fargate。

微型服務

使用 Docker 容器利用標準化程式碼部署建立和擴展分散式應用程式架構。

持續整合和交付

透過標準化環境及消除語言堆疊和版本之間的衝突,加快應用程式的交付速度。

資料處理

將大數據處理作為一項服務提供。將資料和分析套件包裝在非技術使用者也可以執行的可攜式容器中。

容器即服務

利用由 IT 管理並確保安全的內容和基礎設施來建置和發佈分散式應用程式。

Docker 常見問答集

使用 Docker,您可以將應用程式快速地部署到各種環境並加以擴展,而且知道程式碼可以執行。可以這樣做的原因是 Docker 將軟體封裝到名為容器的標準化單位,其中包含程式庫、系統工具、程式碼和執行時間等執行軟體所需的所有項目。

Docker 影像是定義容器的唯讀範本。該影像含有要執行的程式碼,其中包含程式碼所需的各種程式庫和相依性定義。Docker 容器是執行個體化 (執行中) 的 Docker 影像。AWS 提供 Amazon Elastic Container Registry (ECR),這是用來存放和快速擷取 Docker 映像的映像登錄檔。

虛擬機器 (VM) 可虛擬化 (或免除直接管理的需要) 伺服器硬體,而容器則可虛擬化伺服器的作業系統。Docker 是容器的作業系統 (或執行時間)。Docker Engine 安裝在要執行容器的每部伺服器上,並提供一組簡單的命令讓您用來建立、啟動或停止容器。

在 AWS 上執行 Docker

AWS 同時為 Docker 開放原始碼和商用解決方案提供支援。有多種方法可以在 AWS 上執行容器,包括可高度擴展、高效能的容器管理服務 Amazon Elastic Container Service (ECS)。客戶可以輕鬆地將其容器化應用程式從其本機 Docker 環境直接部署至 Amazon ECS。AWS Fargate 是 Amazon ECS 採用的技術,可讓您在生產環境執行容器,無須部署或管理基礎設施。Amazon Elastic Container Service for Kubernetes (EKS) 可讓您輕鬆在 AWS 執行 Kubernetes。AWS Fargate 是 Amazon ECS 採用的技術,可讓您執行容器,無須佈建或管理伺服器。Amazon Elastic Container Registry (ECR) 是高度可用且安全的私有容器儲存庫,能夠輕鬆存放和管理您的 Docker 容器影像、加密和壓縮靜態影像,以便快速提取及確保安全。AWS Batch 透過 Docker 容器執行可高度擴展的批次處理工作負載。