什么是 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。您可以自行将 Docker CE 安装到您的计算机或 Amazon EC2 虚拟机实例上,也可以通过经过 Amazon ECS 优化的 AMI 立即开始使用 Docker CE。

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 产品,并与 VPC、负载均衡、服务发现和 IAM 角色等 AWS 产品深度集成,让您能够轻松地在 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 许可证?在 AWS 上运行 Docker EE Standard

开始使用 Docker

以下步骤将帮助您在几分钟内开始使用 AWS 上的 Docker!
icon1
注册 AWS 账户
立即享受 AWS 免费套餐。
icon2
在 10 分钟内部署 Docker 容器
在这个简明教程中探索并了解 Docker

详细了解容器

访问容器页面
准备好开始构建?
部署 Docker 容器
还有更多问题?
联系我们