1

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

4

2 回答 2

2

仅使用Amazon EC2 容器服务 (ECS)尚无法实现- 虽然 ECS 同时支持私有注册表(另请参阅介绍性博客文章),但它尚未提供映像构建服务(与往常一样,预计 AWS 将添加随着时间的推移,这些显着的附加功能,请参阅例如功能请求:ECS 容器梦想服务以了解更多信息)。

但是,它已经可以通过AWS Elastic Beanstalk对单容器 Docker 配置的内置初始支持来实现:

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

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

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

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

于 2015-06-23T13:07:12.060 回答
0

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

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

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

于 2016-06-03T21:12:11.017 回答