什么是 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 用户高出 7 倍。Docker 让您能够根据需要频繁地发布单独的服务。

实现操作的标准化

小型容器化应用程序可让用户轻松地进行部署、确定问题并通过回滚实施修复。

无缝迁移

基于 Docker 的应用程序可以从本地开发机器无缝迁移到 AWS 上的生产部署环境中。

节省开支

Docker 容器让您能够更轻松地在每个服务器上运行更多代码,从而提高利用率并节省开支。

应在何时使用 Docker

您可以使用 Docker 容器作为构建现代应用程序和平台的核心构建块。Docker 让您可以轻松构建和运行分布式微服务架构、使用标准化的持续集成和交付管道部署代码、构建高度可扩展的数据处理系统,并为您的开发人员构建完全托管的平台。AWS 与 Docker 最近开展的合作使您可以更轻松地将 Docker Compose 构件部署到 Amazon ECS 和 AWS Fargate 中。 

微服务

通过利用使用 Docker 容器的标准化代码部署来构建和扩展分布式应用程序架构。

持续集成和交付

通过实现环境标准化并消除语言堆栈和版本之间的冲突,加快应用程序的交付速度。

数据处理

将大数据处理作为一项服务提供。将各种数据包和分析包打包成可移植的容器,使非技术用户也可以执行。

容器即服务

构建和发布带有由 IT 管理并确保安全的内容和基础设施的分布式应用程序。

Docker 常见问题

问:Docker 可以用来做什么?

使用 Docker,您可以将应用程序快速部署和扩展到任何环境中,并且知道您的代码将运行。您之所以可以这样做是因为 Docker 会将软件打包成标准化单元(即容器),这些单元具有软件需要运行的所有内容,包括库、系统工具、代码和运行时。

问:什么是 Docker 镜像?

Docker 镜像是定义容器的只读模板。该镜像包含将运行的代码,包括这些代码需要的任何库和依赖关系的所有定义。Docker 容器是一个实例化(正在运行)的 Docker 镜像。AWS 提供了 Amazon Elastic Container Registry (ECR),这是一个用于存储和快速检索 Docker 镜像的镜像注册表。

问: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 容器运行高度可扩展的批处理工作负载。

Amazon ECS

Amazon ECS 是一项高度可扩展的高性能容器编排服务,用于在 AWS 云上运行 Docker 容器。

AWS Fargate

AWS Fargate 是一种适用于 Amazon ECS 的技术,让您无需部署或管理基础设施即可运行 Docker 容器。

Amazon EKS

借助 Amazon EKS,您可以轻松地在 AWS 上运行 Kubernetes,而无需安装和操作 Kubernetes 主节点。 

Amazon ECR

Amazon ECR 是一个高度可用且安全的私有容器存储库,让您能够轻松地存储和管理 Docker 容器镜像。

AWS Batch

AWS Batch 让开发人员、科学家和工程师能够轻松高效地在 AWS 上使用容器运行批处理计算作业。

AWS Copilot

AWS Copilot 是一种命令行界面,让客户能在 AWS 上启动并轻松管理容器化应用程序。

详细了解容器

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