【问题标题】:How to configure Amazon container service without docker hub integration如何在没有 docker hub 集成的情况下配置 Amazon 容器服务
【发布时间】:2015-07-28 13:34:09
【问题描述】:

我正在尝试设置一个新的基于 springboot+docker(microservices) 的项目。该部署针对 aws。每个服务都有一个与之关联的 Dockerfile。我正在考虑使用亚马逊容器服务进行部署,但据我所知,它只从 docker hub 中提取图像。我不希望 ECS 从 docker-hub 中提取,而是从 docker 文件构建映像,然后接管部署这些容器。可以吗?如果是的话怎么做。

【问题讨论】:

  • 您是否尝试自己管理 docker 容器?我认为 ECS 服务的重点在于亚马逊为您管理 docker 容器。您可能希望在标准 EC2 实例上安装 docker 并自行管理。
  • @errata 我实际上希望 ECS 来管理容器。除了为服务创建 docker 文件之外,我什么也没做。您能否推荐一个工作流程,因为我们正在寻找 1000 多个容器的微服务架构。

标签: amazon-web-services deployment dockerhub amazon-ecs


【解决方案1】:

仅使用 Amazon EC2 Container Service (ECS) 尚无法实现 - 虽然 ECS 同时支持 private registries(另请参阅 introductory blog post),但它尚未提供映像构建服务(与往常一样,预计 AWS 将添加随着时间的推移,这些显着的附加功能,请参阅Feature Request: ECS container dream service 了解更多信息)。

但是,它已经可以通过AWS Elastic BeanstalkSingle Container Docker Configurations 的内置初始支持来实现:

Docker 使用Dockerfile 创建包含您的源包的 Docker 映像。 [...] Dockerfile 是一个纯文本文件,其中包含 Elastic Beanstalk 用于在您的 Elastic Beanstalk 环境中的每个 Amazon EC2 实例上构建自定义 Docker 映像的指令。如果存储库中还没有托管现有图像,请创建 Dockerfile。 [强调我的]

具有讽刺意味的是,Elastic Beanstalk 现在添加了基于 ECS 的 Multicontainer Docker Environments,但是这个非常需要的更通用的 Docker 部署选项不提供依次构建映像的能力:

Elastic Beanstalk 上的多容器 Docker 平台不支持在部署期间使用 Dockerfile 构建自定义映像。在创建 Elastic Beanstalk 环境之前,构建您的映像并将其部署到在线存储库。 [强调我的]

如上所述,由于 AWS 众所周知的敏捷性(参见例如most recent ECS updates),我希望在不久的将来将其添加到 ECS 中,但他们通常不承诺路线图的详细信息,所以很难估计我们需要等多久。

【讨论】:

    【解决方案2】:

    与此同时,亚马逊推出了 EC2 容器注册表https://aws.amazon.com/ecr/ 如果您不喜欢 docker hub,它是一个私有 docker 存储库。与 ECS 服务完美集成。 但是它不会构建你的 docker 镜像,所以它不能解决整个问题。

    我使用竹服务器来构建图像(源代码在 bitbucket 的 git 存储库中)。 Bamboo 将图像推送到 Amazon 的容器注册表。

    我希望 Bitbucket 管道能够通过更少的构建服务器配置使流程更加顺畅。从视频中,我看到您的所有构建配置都位于您的存储库中。它仍处于封闭测试阶段,所以我想我们将不得不再等一会儿才能看到它的最终结果。

    【讨论】:

      猜你喜欢
      • 2021-08-17
      • 1970-01-01
      • 1970-01-01
      • 2021-12-26
      • 1970-01-01
      • 1970-01-01
      • 2018-08-19
      • 2015-11-01
      • 1970-01-01
      相关资源
      最近更新 更多