什麼是 Docker?

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

Docker-Logo_Horizontel_279x131

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

在 AWS 上執行 Docker 可讓開發人員和管理員以高度可靠且低成本的方式建立、發佈和執行各種規模的分散式應用程式。AWS 支援兩種 Docker 授權模型:開放原始碼 Docker Community Edition (CE) 和訂閱型 Docker Enterprise Edition (EE)。

Docker 的運作方式

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

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

monolith_2-VM-vs-Containers

使用 Docker 的原因

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

100x100_benefit_deployment1

更快地發佈更多軟體

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

100x100_benefit_tools

標準化操作

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

100x100_benefit_migration

無縫移動

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

100x100_benefit_lowcost-affordable

節省資金

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

使用 Docker 的時機

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

100x100_benefit_ccontainers

微型服務

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

100x100_benefit_delivery

持續整合和交付

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

AWS_Benefit Icon_AutomatedOperations

資料處理

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

100x100_benefit_get-started-2

容器即服務

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

Docker 常見問答集

問:Docker 是否免費?

每個人都能免費使用 Docker Community Edition (CE)。這個版本的 Docker 是開放原始碼,可在 Windows、Mac 和 Linux 等各種不同的平台使用。您可以自行在電腦或 Amazon EC2 虛擬機器執行個體上安裝 Docker CE,或透過 Amazon ECS 優化 AMI 立即開始使用。

Docker Enterprise Edition (EE) 新增了工作流程管理和安全性等其他功能,並在 AWS Marketplace 以付費訂閱的方式提供。

問:Docker 可以用來做什麼?

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

問:什麼是 Docker 影像?

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

問:Docker Swarm、Kubernetes 和 Amazon ECS 之間的差異為何?

當您想要執行很多 Docker 容器時,Docker Swarm、KubernetesAmazon Elastic Container Service (ECS) 等協同工具可讓您啟動、停止和監控數千個 (或數百萬個) 容器。

Docker Swarm 是 Docker 製作的容器協同軟體,您可以自行執行和管理。Kubernetes 是熱門的開放原始碼、社群維護的容器協同軟體,您可以自行執行和管理。Amazon EKS 透過提供管理容器的 Kubernetes 控制平面,讓您輕鬆在 AWS 上執行 Kubernetes。Amazon ECS 是全受管 AWS 服務,能夠輕鬆在 AWS 上執行容器,並與 VPC、負載平衡、服務探索和 IAM 角色等 AWS 服務深度整合。

問:Docker 和虛擬機器之間的差異為何?

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

monolith_2-VM-vs-Containers

在 AWS 上執行 Docker

AWS 同時為 Docker 開放原始碼和商用解決方案提供支援。有多種方法可以在 AWS 上執行容器,包括可高度擴展、高效能的容器管理服務 Amazon Elastic Container Service (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 容器執行可高度擴展的批次處理工作負載。

new_product_ecs

Amazon ECS

Amazon ECS 是可高度擴展的高效能容器協同服務,能夠在 AWS 雲端執行 Docker 容器。

new_product_fargate

AWS Fargate

AWS Fargate 是 Amazon ECS 採用的技術,可讓您執行 Docker 容器,無須部署或管理基礎設施。

new_product_eks

Amazon EKS

您可以利用 Amazon EKS 輕鬆在 AWS 上執行 Kubernetes,無須安裝和操作 Kubernetes 主節點。 

new_product_ecr

Amazon ECR

Amazon ECR 是高度可用且安全的私有容器儲存庫,可讓您輕鬆存放和管理 Docker 容器影像。

new_product_batch

AWS Batch

開發人員、科學家和工程師可使用 AWS Batch,透過 AWS 上的容器輕鬆有效地執行批次運算任務。

new_product_docker_cleanwhale

Docker EE 提供已針對 Amazon EC2 環境優化的企業容器管理和安全性平台

AWS Marketplace 以訂閱的方式提供 Docker EE。已經有 Docker EE 授權?使用 Docker EE Standard 在 AWS 上啟動

開始使用 Docker

以下步驟可讓您以最快的速度開始在 AWS 上使用 Docker!
icon1
註冊 AWS 帳戶
立即存取 AWS 免費方案。
icon2
10 分鐘內部署 Docker 容器
在這個簡單教學中探索和學習 Docker

進一步了解容器

瀏覽容器頁面
準備好開始建立?
部署 Docker 容器
還有其他問題嗎?
聯絡我們