概览
Docker 是一个软件平台,让您可以快速构建、测试和部署应用程序。Docker 将软件打包成名为容器的标准化单元,这些单元具有运行软件所需的所有功能,包括库、系统工具、代码和运行时。使用 Docker,您可以将应用程序快速部署和扩展到任何环境中,并且知道您的代码将运行。
在 AWS 上运行 Docker 可为开发人员和管理员提供一种高度可靠且成本低廉的方式来构建、发布和运行任何规模的分布式应用程序。
近期公告:Docker 与 AWS 合作帮助开发人员加速将现代应用程序传输到云。这种合作可帮助开发人员使用 Docker Compose 和 Docker Desktop 来利用他们现在使用的相同本地工作流,以在 Amazon ECS 和 AWS Fargate 上无缝部署应用程序。有关更多信息,请参阅博客。
Docker 的工作原理
Docker 的工作原理是提供一种标准方法来运行代码。Docker 是容器的操作系统。与虚拟机用于虚拟化(无需直接管理)服务器的硬件类似,容器用于虚拟化服务器的操作系统。Docker 安装在每个服务器上,并提供可用于构建、启动或停止容器的简单命令。
AWS Fargate、Amazon ECS、Amazon EKS 和 AWS 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 常见问题
在 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 容器运行高度可扩展的批处理工作负载。